diff options
Diffstat (limited to 'binutils-2.25/gas/testsuite/gas/arm')
43 files changed, 1453 insertions, 21 deletions
diff --git a/binutils-2.25/gas/testsuite/gas/arm/arch7a-mp.d b/binutils-2.25/gas/testsuite/gas/arm/arch7a-mp.d index bf6c6da6..85a1a014 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/arch7a-mp.d +++ b/binutils-2.25/gas/testsuite/gas/arm/arch7a-mp.d @@ -11,7 +11,7 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f59ef000 pldw \[lr\] 0[0-9a-f]+ <[^>]+> f591f000 pldw \[r1\] 0[0-9a-f]+ <[^>]+> f590ffff pldw \[r0, #4095\] ; 0xfff -0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfffff001 0[0-9a-f]+ <[^>]+> f790f000 pldw \[r0, r0\] 0[0-9a-f]+ <[^>]+> f791f000 pldw \[r1, r0\] 0[0-9a-f]+ <[^>]+> f79ef000 pldw \[lr, r0\] diff --git a/binutils-2.25/gas/testsuite/gas/arm/arch7r-mp.d b/binutils-2.25/gas/testsuite/gas/arm/arch7r-mp.d index 8908c98c..b6efd6a9 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/arch7r-mp.d +++ b/binutils-2.25/gas/testsuite/gas/arm/arch7r-mp.d @@ -10,7 +10,7 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> f59ef000 pldw \[lr\] 0[0-9a-f]+ <[^>]+> f591f000 pldw \[r1\] 0[0-9a-f]+ <[^>]+> f590ffff pldw \[r0, #4095\] ; 0xfff -0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfff +0[0-9a-f]+ <[^>]+> f510ffff pldw \[r0, #-4095\] ; 0xfffff001 0[0-9a-f]+ <[^>]+> f790f000 pldw \[r0, r0\] 0[0-9a-f]+ <[^>]+> f791f000 pldw \[r1, r0\] 0[0-9a-f]+ <[^>]+> f79ef000 pldw \[lr, r0\] diff --git a/binutils-2.25/gas/testsuite/gas/arm/arm.exp b/binutils-2.25/gas/testsuite/gas/arm/arm.exp index 2d6610b6..cf5009d4 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/arm.exp +++ b/binutils-2.25/gas/testsuite/gas/arm/arm.exp @@ -1,5 +1,4 @@ -# Copyright 2012 -# Free Software Foundation, Inc. +# Copyright (C) 2012-2014 Free Software Foundation, Inc. # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+crypto.d b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+crypto.d index d5b2b4b3..453db31e 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+crypto.d +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+crypto.d @@ -1,5 +1,6 @@ #name: Valid v8-a+cryptov1 #objdump: -dr --prefix-addresses --show-raw-insn +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd .*: +file format .*arm.* diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+fp.d b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+fp.d index d50a73bd..f77e742a 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+fp.d +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+fp.d @@ -1,5 +1,6 @@ #name: Valid v8-a+fp #objdump: -dr --prefix-addresses --show-raw-insn +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd .*: +file format .*arm.* @@ -32,8 +33,8 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> fefd0ae0 vcvtn.s32.f32 s1, s1 0[0-9a-f]+ <[^>]+> febefa4f vcvtp.u32.f32 s30, s30 0[0-9a-f]+ <[^>]+> fefffa6f vcvtm.u32.f32 s31, s31 -0[0-9a-f]+ <[^>]+> febc0b40 vcvta.u32.f64 s0, d0 -0[0-9a-f]+ <[^>]+> fefd0b60 vcvtn.u32.f64 s1, d16 +0[0-9a-f]+ <[^>]+> febc0bc0 vcvta.s32.f64 s0, d0 +0[0-9a-f]+ <[^>]+> fefd0be0 vcvtn.s32.f64 s1, d16 0[0-9a-f]+ <[^>]+> febefb4f vcvtp.u32.f64 s30, d15 0[0-9a-f]+ <[^>]+> fefffb6f vcvtm.u32.f64 s31, d31 0[0-9a-f]+ <[^>]+> eeb60ac0 vrintz.f32 s0, s0 @@ -86,8 +87,8 @@ Disassembly of section .text: 0[0-9a-f]+ <[^>]+> fefd 0ae0 vcvtn.s32.f32 s1, s1 0[0-9a-f]+ <[^>]+> febe fa4f vcvtp.u32.f32 s30, s30 0[0-9a-f]+ <[^>]+> feff fa6f vcvtm.u32.f32 s31, s31 -0[0-9a-f]+ <[^>]+> febc 0b40 vcvta.u32.f64 s0, d0 -0[0-9a-f]+ <[^>]+> fefd 0b60 vcvtn.u32.f64 s1, d16 +0[0-9a-f]+ <[^>]+> febc 0bc0 vcvta.s32.f64 s0, d0 +0[0-9a-f]+ <[^>]+> fefd 0be0 vcvtn.s32.f64 s1, d16 0[0-9a-f]+ <[^>]+> febe fb4f vcvtp.u32.f64 s30, d15 0[0-9a-f]+ <[^>]+> feff fb6f vcvtm.u32.f64 s31, d31 0[0-9a-f]+ <[^>]+> eeb6 0ac0 vrintz.f32 s0, s0 diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+simd.d b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+simd.d index 49ef5b6a..9d05566c 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a+simd.d +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a+simd.d @@ -1,5 +1,6 @@ #name: Valid v8-a+simdv3 #objdump: -dr --prefix-addresses --show-raw-insn +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd .*: +file format .*arm.* diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d index 42dae156..17c2e93d 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-barrier-thumb.d @@ -2,6 +2,7 @@ #as: -march=armv8-a -mthumb #source: armv8-a-barrier.s #objdump: -dr --prefix-addresses --show-raw-insn +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd .*: +file format .*arm.* diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.l b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.l index e3a5971f..282216e4 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.l +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.l @@ -12,3 +12,7 @@ .*:55: Error: r15 not allowed here -- `addeq r0,pc,pc' .*:58: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: Short branches, Undefined, SVC, LDM/STM .*:58: Error: r15 not allowed here -- `addeq pc,r0,r0' +.*:61: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:65: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:68: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm +.*:72: Warning: IT blocks containing 16-bit Thumb instructions of the following class are deprecated in ARMv8: ADD/SUB sp, sp #imm diff --git a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.s b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.s index 42f2b86b..d1bc07a3 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.s +++ b/binutils-2.25/gas/testsuite/gas/arm/armv8-a-it-bad.s @@ -56,3 +56,17 @@ addeq r0, pc, pc it eq addeq pc, r0, r0 + +it eq +addeq sp, sp, #12 + +@ Misaligned immediate. +it eq +addeq sp, sp, #3 + +it eq +subeq sp, sp, #12 + +@ Misaligned immediate. +it eq +subeq sp, sp, #3 diff --git a/binutils-2.25/gas/testsuite/gas/arm/attr-march-armv7ve.d b/binutils-2.25/gas/testsuite/gas/arm/attr-march-armv7ve.d new file mode 100644 index 00000000..604183f2 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/attr-march-armv7ve.d @@ -0,0 +1,17 @@ +# name: attributes for -march=armv7ve +# source: blank.s +# as: -march=armv7ve +# readelf: -A +# This test is only valid on EABI based ports. +# target: *-*-*eabi* *-*-nacl* + +Attribute Section: aeabi +File Attributes + Tag_CPU_name: "7VE" + Tag_CPU_arch: v7 + Tag_CPU_arch_profile: Application + Tag_ARM_ISA_use: Yes + Tag_THUMB_ISA_use: Thumb-2 + Tag_MPextension_use: Allowed + Tag_DIV_use: Allowed in v7-A with integer division extension + Tag_Virtualization_use: TrustZone and Virtualization Extensions diff --git a/binutils-2.25/gas/testsuite/gas/arm/backslash-at.d b/binutils-2.25/gas/testsuite/gas/arm/backslash-at.d index c87965f4..3397573b 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/backslash-at.d +++ b/binutils-2.25/gas/testsuite/gas/arm/backslash-at.d @@ -4,7 +4,7 @@ .*: file format .*arm.* Disassembly of section .text: -0+000 <.*>.*615c.* +0+000 <.*>.*(615c|5c61).* 0+002 <foo> e3a00000 mov r0, #0 0+006 <foo\+0x4> e3a00000 mov r0, #0 0+00a <foo\+0x8> e3a00000 mov r0, #0 diff --git a/binutils-2.25/gas/testsuite/gas/arm/bl-local-2.d b/binutils-2.25/gas/testsuite/gas/arm/bl-local-2.d index da7a49b6..6b55f5ab 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/bl-local-2.d +++ b/binutils-2.25/gas/testsuite/gas/arm/bl-local-2.d @@ -1,5 +1,6 @@ #name: bl local conversion to blx #objdump: -drw --prefix-addresses --show-raw-insn +#target: *-*-*eabi* *-*-nacl* #as: diff --git a/binutils-2.25/gas/testsuite/gas/arm/bl-local-v4t.d b/binutils-2.25/gas/testsuite/gas/arm/bl-local-v4t.d index 959f6b2b..0262b7ef 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/bl-local-v4t.d +++ b/binutils-2.25/gas/testsuite/gas/arm/bl-local-v4t.d @@ -1,6 +1,6 @@ #name: bl local instructions for v4t. #objdump: -drw --prefix-addresses --show-raw-insn -#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* *-*-elf +#target: *-*-*eabi* *-*-nacl* #as: # stderr: blx-local-thumb.l diff --git a/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.d b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.d new file mode 100644 index 00000000..a30b5a22 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.d @@ -0,0 +1,21 @@ +#name: blx->bl convert under no -march/cpu +#error-output: blx-bl-convert.l +#objdump: -d + +.*: file format .* + +Disassembly of section \.text: + +00000000 <entry>: + 0: f000 f800 bl 4 <label> + +00000004 <label>: + 4: 4770 bx lr + \.\.\. + +00000008 <label2>: + 8: ebffffff bl c <label3> + +0000000c <label3>: + c: e12fff1e bx lr + diff --git a/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.l b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.l new file mode 100644 index 00000000..c039755a --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.l @@ -0,0 +1,4 @@ +[^:]*: Assembler messages: +[^:]*:7: Warning: blx to Thumb func 'label' from Thumb ISA state changed to bl +[^:]*:16: Warning: blx to 'label3' an ARM ISA state function changed to bl + diff --git a/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.s b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.s new file mode 100644 index 00000000..d9612333 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/blx-bl-convert.s @@ -0,0 +1,20 @@ +.syntax unified + +.thumb +.type entry, %function +.global entry +entry: + blx label + +.type label, %function +label: + bx lr + +.arm +.type label2, %function +label2: + blx label3 + +.type label3, %function +label3: + bx lr diff --git a/binutils-2.25/gas/testsuite/gas/arm/blx-local.d b/binutils-2.25/gas/testsuite/gas/arm/blx-local.d index 2f9a90df..d8ba40f4 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/blx-local.d +++ b/binutils-2.25/gas/testsuite/gas/arm/blx-local.d @@ -1,6 +1,6 @@ #name: Local BLX instructions #objdump: -drw --prefix-addresses --show-raw-insn -#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* *-*-elf +#target: *-*-*eabi* *-*-nacl* #as: # stderr: blx-local.l # Test assembler resolution of blx and bl instructions in ARM mode. diff --git a/binutils-2.25/gas/testsuite/gas/arm/branch-reloc.d b/binutils-2.25/gas/testsuite/gas/arm/branch-reloc.d index 6ba322e5..8ef21106 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/branch-reloc.d +++ b/binutils-2.25/gas/testsuite/gas/arm/branch-reloc.d @@ -1,6 +1,6 @@ #name: Inter-section branch relocations -#This test is only valid on ELF based ports. -#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* +#This test is only valid on EABI based ports. +#target: *-*-*eabi* *-*-nacl* #as: -march=armv5t #objdump: -rd #stderr: branch-reloc.l diff --git a/binutils-2.25/gas/testsuite/gas/arm/ccs.d b/binutils-2.25/gas/testsuite/gas/arm/ccs.d new file mode 100644 index 00000000..742993ba --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/ccs.d @@ -0,0 +1,25 @@ +#objdump: -dr +# as: -mccs -mcpu=cortex-r4 -mthumb + +.*: file format .*arm.* + + +Disassembly of section \.text: + +00000000 <_test_func>: + 0: e92d5fff push {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} + 4: e59fc018 ldr ip, \[pc, #24\] ; 24 <sym1> + 8: e59c0000 ldr r0, \[ip\] + c: e3100008 tst r0, #8 + 10: 1a000000 bne 18 <aLabel> + 14: e59c0000 ldr r0, \[ip\] + +00000018 <aLabel>: + 18: eb...... bl . <ext_sy.*> + 18: .* ext_sy.* + 1c: e8bd5fff pop {r0, r1, r2, r3, r4, r5, r6, r7, r8, r9, sl, fp, ip, lr} + 20: e25ef008 subs pc, lr, #8 + +00000024 <sym1>: + 24: fffff520 .* +#... diff --git a/binutils-2.25/gas/testsuite/gas/arm/ccs.s b/binutils-2.25/gas/testsuite/gas/arm/ccs.s new file mode 100644 index 00000000..3a7568a1 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/ccs.s @@ -0,0 +1,33 @@ +;------------------------------------------------------------------------------- +; Comments here + + .text + .arm + +;------------------------------------------------------------------------------- + + .ref ext_sym + .def _test_func + .asmfunc + +_test_func + stmfd r13!, {r0 - r12, lr}; push registers and link register on to stack + + ldr r12, sym1 ; another comment + ldr r0, [r12] + tst r0, #0x8 + bne aLabel + ldr r0, [r12] + +aLabel + bl ext_sym ; custom data abort handler required + + ldmfd r13!, {r0 - r12, lr}; pop registers and link register from stack + subs pc, lr, #8 + +sym1 .word 0xFFFFF520 + + + .endasmfunc + + diff --git a/binutils-2.25/gas/testsuite/gas/arm/got_prel.d b/binutils-2.25/gas/testsuite/gas/arm/got_prel.d index 8360fb96..880a6dba 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/got_prel.d +++ b/binutils-2.25/gas/testsuite/gas/arm/got_prel.d @@ -4,16 +4,16 @@ # readelf: -x 4 -r # target: *-*-*eabi* *-*-symbianelf *-*-linux-* *-*-elf *-*-nacl* -Relocation section '.rel.text.foo' at offset 0x3f0 contains 1 entries: +Relocation section '.rel.text.foo' at offset .* contains 1 entries: Offset Info Type Sym.Value Sym. Name 00000010 00000c60 R_ARM_GOT_PREL 00000000 i -Relocation section '.rel.ARM.exidx.text.foo' at offset 0x3f8 contains 2 entries: +Relocation section '.rel.ARM.exidx.text.foo' at offset .* contains 2 entries: Offset Info Type Sym.Value Sym. Name 00000000 0000042a R_ARM_PREL31 00000000 .text.foo 00000000 00000d00 R_ARM_NONE 00000000 __aeabi_unwind_cpp_pr0 Hex dump of section '.text.foo': NOTE: This section has relocations against it, but these have NOT been applied to this dump. - 0x00000000 034b7b44 1b681a68 1860101c 7047c046 .K{D.h.h.`..pG.F - 0x00000010 0a000000 .... + 0x00000000 (034b7b44|4b03447b) (1b681a68|681b681a) (1860101c|60181c10) (7047c046|477046c0) .* + 0x00000010 (0a000000|0000000a) .... diff --git a/binutils-2.25/gas/testsuite/gas/arm/inst-po.d b/binutils-2.25/gas/testsuite/gas/arm/inst-po.d index be912c87..af411399 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/inst-po.d +++ b/binutils-2.25/gas/testsuite/gas/arm/inst-po.d @@ -9,8 +9,8 @@ Disassembly of section .text: 00000004 <.text\+0x4> bf0c ite eq 00000006 <.text\+0x6> 4649 moveq r1, r9 00000008 <.text\+0x8> 4649 movne r1, r9 -0000000a <.text\+0xa> 1234 .short 0x1234 -0000000c <.text\+0xc> 0000 .short 0x0000 +0000000a <.text\+0xa> (1234|0000) .short (0x1234|0x0000) +0000000c <.text\+0xc> (0000|1234) .short (0x0000|0x1234) 0000000e <.text\+0xe> bf0c ite eq 00000010 <.text\+0x10> 4649 moveq r1, r9 00000012 <.text\+0x12> 4649 movne r1, r9 diff --git a/binutils-2.25/gas/testsuite/gas/arm/ldconst.d b/binutils-2.25/gas/testsuite/gas/arm/ldconst.d index 3d063785..f8c273db 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/ldconst.d +++ b/binutils-2.25/gas/testsuite/gas/arm/ldconst.d @@ -1,6 +1,7 @@ #objdump: -dr --prefix-addresses --show-raw-insn #name: ARM ldr with immediate constant #as: -mcpu=arm7m -EL +# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd .*: +file format .*arm.* @@ -25,3 +26,17 @@ Disassembly of section .text: 0+44 <[^>]*> 43e0b0ff ? mvnmi fp, #255 ; 0xff 0+48 <[^>]*> 451fb004 ? ldrmi fp, \[pc, #-4\] ; 0+4c <[^>]*> 0+4c <[^>]*> 0000fff0 ? .* +0+50 <[^>]*> e59f0020 ? ldr r0, \[pc, #32\] ; 0+78 <[^>]*> +0+54 <[^>]*> e59f301c ? ldr r3, \[pc, #28\] ; 0+78 <[^>]*> +0+58 <[^>]*> e59f8018 ? ldr r8, \[pc, #24\] ; 0+78 <[^>]*> +0+5c <[^>]*> e59fb014 ? ldr fp, \[pc, #20\] ; 0+78 <[^>]*> +0+60 <[^>]*> e59fe010 ? ldr lr, \[pc, #16\] ; 0+78 <[^>]*> +0+64 <[^>]*> e59f0010 ? ldr r0, \[pc, #16\] ; 0+7c <[^>]*> +0+68 <[^>]*> e59f300c ? ldr r3, \[pc, #12\] ; 0+7c <[^>]*> +0+6c <[^>]*> e59f8008 ? ldr r8, \[pc, #8\] ; 0+7c <[^>]*> +0+70 <[^>]*> e59fb004 ? ldr fp, \[pc, #4\] ; 0+7c <[^>]*> +0+74 <[^>]*> e51fe000 ? ldr lr, \[pc, #-0\] ; 0+7c <[^>]*> +0+78 <[^>]*> 00000000 .word 0x00000000 + 78: R_ARM_ABS32 ext_symbol +0+7c <[^>]*> 00001000 .word 0x00001000 + 7c: R_ARM_ABS32 ext_symbol diff --git a/binutils-2.25/gas/testsuite/gas/arm/ldconst.s b/binutils-2.25/gas/testsuite/gas/arm/ldconst.s index 1b6aca90..d0b54966 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/ldconst.s +++ b/binutils-2.25/gas/testsuite/gas/arm/ldconst.s @@ -26,3 +26,14 @@ foo: ldrmi r11, =0xffffff00 ldrmi r11, =0x0000fff0 .pool + + # test symbol literal support. + .macro ldrs const + .irp regindex, 0, 3, 8, 11, 14 + ldr r\regindex, \const + .endr + .endm + + ldrs "=ext_symbol" + ldrs "=ext_symbol + 0x1000" + .pool diff --git a/binutils-2.25/gas/testsuite/gas/arm/ldgesb-bad.d b/binutils-2.25/gas/testsuite/gas/arm/ldgesb-bad.d index f11df796..46a37269 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/ldgesb-bad.d +++ b/binutils-2.25/gas/testsuite/gas/arm/ldgesb-bad.d @@ -1,3 +1,4 @@ # name: Reject ld<cc>sb instructions # as: -march=armv7-a # error-output: ldgesb-bad.l +# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd diff --git a/binutils-2.25/gas/testsuite/gas/arm/ldgesh-bad.d b/binutils-2.25/gas/testsuite/gas/arm/ldgesh-bad.d index e7c93c31..3dced89a 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/ldgesh-bad.d +++ b/binutils-2.25/gas/testsuite/gas/arm/ldgesh-bad.d @@ -1,3 +1,4 @@ # name: Reject ld<cc>sh instructions # as: -march=armv7-a # error-output: ldgesh-bad.l +# skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd diff --git a/binutils-2.25/gas/testsuite/gas/arm/mapmisc.d b/binutils-2.25/gas/testsuite/gas/arm/mapmisc.d index f5b70390..0e1d0468 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/mapmisc.d +++ b/binutils-2.25/gas/testsuite/gas/arm/mapmisc.d @@ -47,6 +47,10 @@ SYMBOL TABLE: 0+a0 l .text 00000000 \$d 0+a4 l .text 00000000 \$a 0+a8 l .text 00000000 \$a +0+b0 l .text 00000000 string +0+b0 l .text 00000000 \$d +0+b4 l .text 00000000 \$d +0+b3 l .text 00000000 \$d 0+00 l d .ARM.attributes 00000000 .ARM.attributes @@ -95,3 +99,9 @@ Disassembly of section .text: a0: 7778797a .word 0x7778797a a4: e1a00000 nop ; \(mov r0, r0\) a8: e1a00000 nop ; \(mov r0, r0\) + ac: e51f0000 ldr r0, \[pc, #-0\] ; b4 <string\+0x4> +000000b0 <string>: + b0: 6261 .short 0x6261 + b2: 63 .byte 0x63 + b3: 00 .byte 0x00 + b4: 000000b0 .word 0x000000b0 diff --git a/binutils-2.25/gas/testsuite/gas/arm/mapmisc.s b/binutils-2.25/gas/testsuite/gas/arm/mapmisc.s index 1625515f..c203e74b 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/mapmisc.s +++ b/binutils-2.25/gas/testsuite/gas/arm/mapmisc.s @@ -38,3 +38,9 @@ foo: nop .fill 0, 0, 0 nop +# This test should always be at the end. Check that a trailing align does +# not cause the literal pool to be emitted with a code mapping symbol. + ldr r0,=string +string: + .ascii "abc" + .align 2 diff --git a/binutils-2.25/gas/testsuite/gas/arm/maverick.c b/binutils-2.25/gas/testsuite/gas/arm/maverick.c index 09ad8cbb..8d615a93 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/maverick.c +++ b/binutils-2.25/gas/testsuite/gas/arm/maverick.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2000, 2003, 2004, 2005, 2007 Free Software Foundation +/* Copyright (C) 2000-2014 Free Software Foundation, Inc. Contributed by Alexandre Oliva <aoliva@cygnus.com> This file is free software; you can redistribute it and/or modify it diff --git a/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.d b/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.d index 4d6ce445..8f8d8818 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.d +++ b/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.d @@ -14,3 +14,18 @@ Disassembly of section .text: 0+00e <[^>]+> f8df 5004 ldr\.w r5, \[pc, #4\] ; 00+14 <[^>]+> 0+012 <[^>]+> 4900 ldr r1, \[pc, #0\] ; \(00+14 <[^>]+>\) 0+014 <[^>]+> 12345678 ? .word 0x12345678 +0+018 <[^>]+> 4907 ldr r1, \[pc, #28\] ; \(00000038 <[^>]+>\) +0+01a <[^>]+> 4c07 ldr r4, \[pc, #28\] ; \(00000038 <[^>]+>\) +0+01c <[^>]+> f8df 9018 ldr.w r9, \[pc, #24\] ; 00000038 <[^>]+> +0+020 <[^>]+> f8df c014 ldr.w ip, \[pc, #20\] ; 00000038 <[^>]+> +0+024 <[^>]+> f8df d010 ldr.w sp, \[pc, #16\] ; 00000038 <[^>]+> +0+028 <[^>]+> 4904 ldr r1, \[pc, #16\] ; \(0000003c <[^>]+>\) +0+02a <[^>]+> 4c04 ldr r4, \[pc, #16\] ; \(0000003c <[^>]+>\) +0+02c <[^>]+> f8df 900c ldr.w r9, \[pc, #12\] ; 0000003c <[^>]+> +0+030 <[^>]+> f8df c008 ldr.w ip, \[pc, #8\] ; 0000003c <[^>]+> +0+034 <[^>]+> f8df d004 ldr.w sp, \[pc, #4\] ; 0000003c <[^>]+> +0+038 <[^>]+> 00000000 .word 0x00000000 + 38: R_ARM_ABS32 ext_symbol +0+03c <[^>]+> 00001000 .word 0x00001000 + 3c: R_ARM_ABS32 ext_symbol + diff --git a/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.s b/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.s index 844e77ec..92c0fe9c 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.s +++ b/binutils-2.25/gas/testsuite/gas/arm/thumb2_pool.s @@ -11,3 +11,14 @@ thumb2_ldr: ldr.w r5, =0x12345678 ldr r1, =0x12345678 .pool + + # test symbol literal support. + .macro ldrs const + .irp regindex, 1, 4, 9, 12, 13 + ldr r\regindex, \const + .endr + .endm + + ldrs "=ext_symbol" + ldrs "=ext_symbol + 0x1000" + .pool diff --git a/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.d b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.d new file mode 100644 index 00000000..5a8cb6f9 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.d @@ -0,0 +1,169 @@ +# as: -march=armv6t2 -EL +# objdump: -dr --prefix-addresses --show-raw-insn +# This test is only valid on ELF based ports. +#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* +#name: Thumb2 vldr with immediate constant + +.*: +file format .*arm.* + +Disassembly of section .text: +00000000 <thumb2_ldr> ed9f 0a0f vldr s0, \[pc, #60\] ; 00000040 <thumb2_ldr\+0x40> +00000004 <thumb2_ldr\+0x4> ed9f 7a0e vldr s14, \[pc, #56\] ; 00000040 <thumb2_ldr\+0x40> +00000008 <thumb2_ldr\+0x8> ed9f ea0d vldr s28, \[pc, #52\] ; 00000040 <thumb2_ldr\+0x40> +0000000c <thumb2_ldr\+0xc> eddf fa0c vldr s31, \[pc, #48\] ; 00000040 <thumb2_ldr\+0x40> +00000010 <thumb2_ldr\+0x10> ed9f 0a0c vldr s0, \[pc, #48\] ; 00000044 <thumb2_ldr\+0x44> +00000014 <thumb2_ldr\+0x14> ed9f 7a0b vldr s14, \[pc, #44\] ; 00000044 <thumb2_ldr\+0x44> +00000018 <thumb2_ldr\+0x18> ed9f ea0a vldr s28, \[pc, #40\] ; 00000044 <thumb2_ldr\+0x44> +0000001c <thumb2_ldr\+0x1c> eddf fa09 vldr s31, \[pc, #36\] ; 00000044 <thumb2_ldr\+0x44> +00000020 <thumb2_ldr\+0x20> ed9f 0a09 vldr s0, \[pc, #36\] ; 00000048 <thumb2_ldr\+0x48> +00000024 <thumb2_ldr\+0x24> ed9f 7a08 vldr s14, \[pc, #32\] ; 00000048 <thumb2_ldr\+0x48> +00000028 <thumb2_ldr\+0x28> ed9f ea07 vldr s28, \[pc, #28\] ; 00000048 <thumb2_ldr\+0x48> +0000002c <thumb2_ldr\+0x2c> eddf fa06 vldr s31, \[pc, #24\] ; 00000048 <thumb2_ldr\+0x48> +00000030 <thumb2_ldr\+0x30> ed9f 0a06 vldr s0, \[pc, #24\] ; 0000004c <thumb2_ldr\+0x4c> +00000034 <thumb2_ldr\+0x34> ed9f 7a05 vldr s14, \[pc, #20\] ; 0000004c <thumb2_ldr\+0x4c> +00000038 <thumb2_ldr\+0x38> ed9f ea04 vldr s28, \[pc, #16\] ; 0000004c <thumb2_ldr\+0x4c> +0000003c <thumb2_ldr\+0x3c> eddf fa03 vldr s31, \[pc, #12\] ; 0000004c <thumb2_ldr\+0x4c> +00000040 <thumb2_ldr\+0x40> 00000000 .word 0x00000000 +00000044 <thumb2_ldr\+0x44> ff000000 .word 0xff000000 +00000048 <thumb2_ldr\+0x48> ffffffff .word 0xffffffff +0000004c <thumb2_ldr\+0x4c> 0fff0000 .word 0x0fff0000 +00000050 <thumb2_ldr\+0x50> ed9f 0a0f vldr s0, \[pc, #60\] ; 00000090 <thumb2_ldr\+0x90> +00000054 <thumb2_ldr\+0x54> ed9f 7a0e vldr s14, \[pc, #56\] ; 00000090 <thumb2_ldr\+0x90> +00000058 <thumb2_ldr\+0x58> ed9f ea0d vldr s28, \[pc, #52\] ; 00000090 <thumb2_ldr\+0x90> +0000005c <thumb2_ldr\+0x5c> eddf fa0c vldr s31, \[pc, #48\] ; 00000090 <thumb2_ldr\+0x90> +00000060 <thumb2_ldr\+0x60> ed9f 0a0c vldr s0, \[pc, #48\] ; 00000094 <thumb2_ldr\+0x94> +00000064 <thumb2_ldr\+0x64> ed9f 7a0b vldr s14, \[pc, #44\] ; 00000094 <thumb2_ldr\+0x94> +00000068 <thumb2_ldr\+0x68> ed9f ea0a vldr s28, \[pc, #40\] ; 00000094 <thumb2_ldr\+0x94> +0000006c <thumb2_ldr\+0x6c> eddf fa09 vldr s31, \[pc, #36\] ; 00000094 <thumb2_ldr\+0x94> +00000070 <thumb2_ldr\+0x70> ed9f 0a09 vldr s0, \[pc, #36\] ; 00000098 <thumb2_ldr\+0x98> +00000074 <thumb2_ldr\+0x74> ed9f 7a08 vldr s14, \[pc, #32\] ; 00000098 <thumb2_ldr\+0x98> +00000078 <thumb2_ldr\+0x78> ed9f ea07 vldr s28, \[pc, #28\] ; 00000098 <thumb2_ldr\+0x98> +0000007c <thumb2_ldr\+0x7c> eddf fa06 vldr s31, \[pc, #24\] ; 00000098 <thumb2_ldr\+0x98> +00000080 <thumb2_ldr\+0x80> ed9f 0a06 vldr s0, \[pc, #24\] ; 0000009c <thumb2_ldr\+0x9c> +00000084 <thumb2_ldr\+0x84> ed9f 7a05 vldr s14, \[pc, #20\] ; 0000009c <thumb2_ldr\+0x9c> +00000088 <thumb2_ldr\+0x88> ed9f ea04 vldr s28, \[pc, #16\] ; 0000009c <thumb2_ldr\+0x9c> +0000008c <thumb2_ldr\+0x8c> eddf fa03 vldr s31, \[pc, #12\] ; 0000009c <thumb2_ldr\+0x9c> +00000090 <thumb2_ldr\+0x90> 00000000 .word 0x00000000 +00000094 <thumb2_ldr\+0x94> 00ff0000 .word 0x00ff0000 +00000098 <thumb2_ldr\+0x98> ff00ffff .word 0xff00ffff +0000009c <thumb2_ldr\+0x9c> 00fff000 .word 0x00fff000 +000000a0 <thumb2_ldr\+0xa0> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +000000a4 <thumb2_ldr\+0xa4> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +000000a8 <thumb2_ldr\+0xa8> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +000000ac <thumb2_ldr\+0xac> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +000000b0 <thumb2_ldr\+0xb0> ed9f 0b0b vldr d0, \[pc, #44\] ; 000000e0 <thumb2_ldr\+0xe0> +000000b4 <thumb2_ldr\+0xb4> ed9f eb0a vldr d14, \[pc, #40\] ; 000000e0 <thumb2_ldr\+0xe0> +000000b8 <thumb2_ldr\+0xb8> eddf cb09 vldr d28, \[pc, #36\] ; 000000e0 <thumb2_ldr\+0xe0> +000000bc <thumb2_ldr\+0xbc> eddf fb08 vldr d31, \[pc, #32\] ; 000000e0 <thumb2_ldr\+0xe0> +000000c0 <thumb2_ldr\+0xc0> ff87 0e3f vmov.i64 d0, #0xffffffffffffffff +000000c4 <thumb2_ldr\+0xc4> ff87 ee3f vmov.i64 d14, #0xffffffffffffffff +000000c8 <thumb2_ldr\+0xc8> ffc7 ce3f vmov.i64 d28, #0xffffffffffffffff +000000cc <thumb2_ldr\+0xcc> ffc7 fe3f vmov.i64 d31, #0xffffffffffffffff +000000d0 <thumb2_ldr\+0xd0> ed9f 0b05 vldr d0, \[pc, #20\] ; 000000e8 <thumb2_ldr\+0xe8> +000000d4 <thumb2_ldr\+0xd4> ed9f eb04 vldr d14, \[pc, #16\] ; 000000e8 <thumb2_ldr\+0xe8> +000000d8 <thumb2_ldr\+0xd8> eddf cb03 vldr d28, \[pc, #12\] ; 000000e8 <thumb2_ldr\+0xe8> +000000dc <thumb2_ldr\+0xdc> eddf fb02 vldr d31, \[pc, #8\] ; 000000e8 <thumb2_ldr\+0xe8> +000000e0 <thumb2_ldr\+0xe0> ca000000 .word 0xca000000 +000000e4 <thumb2_ldr\+0xe4> 00000000 .word 0x00000000 +000000e8 <thumb2_ldr\+0xe8> 0fff0000 .word 0x0fff0000 +000000ec <thumb2_ldr\+0xec> 00000000 .word 0x00000000 +000000f0 <thumb2_ldr\+0xf0> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +000000f4 <thumb2_ldr\+0xf4> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +000000f8 <thumb2_ldr\+0xf8> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +000000fc <thumb2_ldr\+0xfc> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000100 <thumb2_ldr\+0x100> ef80 0e34 vmov.i64 d0, #0x0000000000ff0000 +00000104 <thumb2_ldr\+0x104> ef80 ee34 vmov.i64 d14, #0x0000000000ff0000 +00000108 <thumb2_ldr\+0x108> efc0 ce34 vmov.i64 d28, #0x0000000000ff0000 +0000010c <thumb2_ldr\+0x10c> efc0 fe34 vmov.i64 d31, #0x0000000000ff0000 +00000110 <thumb2_ldr\+0x110> ef80 0e39 vmov.i64 d0, #0x00000000ff0000ff +00000114 <thumb2_ldr\+0x114> ef80 ee39 vmov.i64 d14, #0x00000000ff0000ff +00000118 <thumb2_ldr\+0x118> efc0 ce39 vmov.i64 d28, #0x00000000ff0000ff +0000011c <thumb2_ldr\+0x11c> efc0 fe39 vmov.i64 d31, #0x00000000ff0000ff +00000120 <thumb2_ldr\+0x120> ed9f 0b03 vldr d0, \[pc, #12\] ; 00000130 <thumb2_ldr\+0x130> +00000124 <thumb2_ldr\+0x124> ed9f eb02 vldr d14, \[pc, #8\] ; 00000130 <thumb2_ldr\+0x130> +00000128 <thumb2_ldr\+0x128> eddf cb01 vldr d28, \[pc, #4\] ; 00000130 <thumb2_ldr\+0x130> +0000012c <thumb2_ldr\+0x12c> eddf fb00 vldr d31, \[pc\] ; 00000130 <thumb2_ldr\+0x130> +00000130 <thumb2_ldr\+0x130> 00fff000 .word 0x00fff000 +00000134 <thumb2_ldr\+0x134> 00000000 .word 0x00000000 +00000138 <thumb2_ldr\+0x138> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +0000013c <thumb2_ldr\+0x13c> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +00000140 <thumb2_ldr\+0x140> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +00000144 <thumb2_ldr\+0x144> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000148 <thumb2_ldr\+0x148> ff80 0e30 vmov.i64 d0, #0xff00000000000000 +0000014c <thumb2_ldr\+0x14c> ff80 ee30 vmov.i64 d14, #0xff00000000000000 +00000150 <thumb2_ldr\+0x150> ffc0 ce30 vmov.i64 d28, #0xff00000000000000 +00000154 <thumb2_ldr\+0x154> ffc0 fe30 vmov.i64 d31, #0xff00000000000000 +00000158 <thumb2_ldr\+0x158> ff87 0e3f vmov.i64 d0, #0xffffffffffffffff +0000015c <thumb2_ldr\+0x15c> ff87 ee3f vmov.i64 d14, #0xffffffffffffffff +00000160 <thumb2_ldr\+0x160> ffc7 ce3f vmov.i64 d28, #0xffffffffffffffff +00000164 <thumb2_ldr\+0x164> ffc7 fe3f vmov.i64 d31, #0xffffffffffffffff +00000168 <thumb2_ldr\+0x168> ed9f 0b03 vldr d0, \[pc, #12\] ; 00000178 <thumb2_ldr\+0x178> +0000016c <thumb2_ldr\+0x16c> ed9f eb02 vldr d14, \[pc, #8\] ; 00000178 <thumb2_ldr\+0x178> +00000170 <thumb2_ldr\+0x170> eddf cb01 vldr d28, \[pc, #4\] ; 00000178 <thumb2_ldr\+0x178> +00000174 <thumb2_ldr\+0x174> eddf fb00 vldr d31, \[pc\] ; 00000178 <thumb2_ldr\+0x178> +00000178 <thumb2_ldr\+0x178> 00000000 .word 0x00000000 +0000017c <thumb2_ldr\+0x17c> 0fff0000 .word 0x0fff0000 +00000180 <thumb2_ldr\+0x180> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +00000184 <thumb2_ldr\+0x184> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +00000188 <thumb2_ldr\+0x188> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +0000018c <thumb2_ldr\+0x18c> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000190 <thumb2_ldr\+0x190> ed9f 0b0b vldr d0, \[pc, #44\] ; 000001c0 <thumb2_ldr\+0x1c0> +00000194 <thumb2_ldr\+0x194> ed9f eb0a vldr d14, \[pc, #40\] ; 000001c0 <thumb2_ldr\+0x1c0> +00000198 <thumb2_ldr\+0x198> eddf cb09 vldr d28, \[pc, #36\] ; 000001c0 <thumb2_ldr\+0x1c0> +0000019c <thumb2_ldr\+0x19c> eddf fb08 vldr d31, \[pc, #32\] ; 000001c0 <thumb2_ldr\+0x1c0> +000001a0 <thumb2_ldr\+0x1a0> ed9f 0b09 vldr d0, \[pc, #36\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001a4 <thumb2_ldr\+0x1a4> ed9f eb08 vldr d14, \[pc, #32\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001a8 <thumb2_ldr\+0x1a8> eddf cb07 vldr d28, \[pc, #28\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001ac <thumb2_ldr\+0x1ac> eddf fb06 vldr d31, \[pc, #24\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b0 <thumb2_ldr\+0x1b0> ed9f 0b05 vldr d0, \[pc, #20\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b4 <thumb2_ldr\+0x1b4> ed9f eb04 vldr d14, \[pc, #16\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b8 <thumb2_ldr\+0x1b8> eddf cb03 vldr d28, \[pc, #12\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001bc <thumb2_ldr\+0x1bc> eddf fb02 vldr d31, \[pc, #8\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001c0 <thumb2_ldr\+0x1c0> 00000000 .word 0x00000000 +000001c4 <thumb2_ldr\+0x1c4> 000ff000 .word 0x000ff000 +000001c8 <thumb2_ldr\+0x1c8> f0000000 .word 0xf0000000 +000001cc <thumb2_ldr\+0x1cc> 0ff00fff .word 0x0ff00fff +000001d0 <thumb2_ldr\+0x1d0> ed9f 1b01 vldr d1, \[pc, #4\] ; 000001d8 <thumb2_ldr\+0x1d8> + \.\.\. +000001dc <thumb2_ldr\+0x1dc> 0000fff0 .word 0x0000fff0 +000001e0 <thumb2_ldr\+0x1e0> f101 0000 add.w r0, r1, #0 +000001e4 <thumb2_ldr\+0x1e4> ed9f 1b00 vldr d1, \[pc\] ; 000001e8 <thumb2_ldr\+0x1e8> +000001e8 <thumb2_ldr\+0x1e8> 00000000 .word 0x00000000 +000001ec <thumb2_ldr\+0x1ec> 0000fff0 .word 0x0000fff0 +000001f0 <thumb2_ldr\+0x1f0> ed9f 1b11 vldr d1, \[pc, #68\] ; 00000238 <thumb2_ldr\+0x238> +000001f4 <thumb2_ldr\+0x1f4> ed9f 1a12 vldr s2, \[pc, #72\] ; 00000240 <thumb2_ldr\+0x240> +000001f8 <thumb2_ldr\+0x1f8> ed9f 3b13 vldr d3, \[pc, #76\] ; 00000248 <thumb2_ldr\+0x248> +000001fc <thumb2_ldr\+0x1fc> ed9f 2a11 vldr s4, \[pc, #68\] ; 00000244 <thumb2_ldr\+0x244> +00000200 <thumb2_ldr\+0x200> ed9f 5b11 vldr d5, \[pc, #68\] ; 00000248 <thumb2_ldr\+0x248> +00000204 <thumb2_ldr\+0x204> ed9f 6b12 vldr d6, \[pc, #72\] ; 00000250 <thumb2_ldr\+0x250> +00000208 <thumb2_ldr\+0x208> ed9f 7b13 vldr d7, \[pc, #76\] ; 00000258 <thumb2_ldr\+0x258> +0000020c <thumb2_ldr\+0x20c> ed9f 4a14 vldr s8, \[pc, #80\] ; 00000260 <thumb2_ldr\+0x260> +00000210 <thumb2_ldr\+0x210> ed9f 9b15 vldr d9, \[pc, #84\] ; 00000268 <thumb2_ldr\+0x268> +00000214 <thumb2_ldr\+0x214> ed9f 5a13 vldr s10, \[pc, #76\] ; 00000264 <thumb2_ldr\+0x264> +00000218 <thumb2_ldr\+0x218> ed9f bb15 vldr d11, \[pc, #84\] ; 00000270 <thumb2_ldr\+0x270> +0000021c <thumb2_ldr\+0x21c> ed9f 6a16 vldr s12, \[pc, #88\] ; 00000278 <thumb2_ldr\+0x278> +00000220 <thumb2_ldr\+0x220> eddf 6a16 vldr s13, \[pc, #88\] ; 0000027c <thumb2_ldr\+0x27c> +00000224 <thumb2_ldr\+0x224> ed9f 7a07 vldr s14, \[pc, #28\] ; 00000244 <thumb2_ldr\+0x244> +00000228 <thumb2_ldr\+0x228> eddf 7a04 vldr s15, \[pc, #16\] ; 0000023c <thumb2_ldr\+0x23c> +0000022c <thumb2_ldr\+0x22c> eddf 0b12 vldr d16, \[pc, #72\] ; 00000278 <thumb2_ldr\+0x278> +00000230 <thumb2_ldr\+0x230> eddf 1b13 vldr d17, \[pc, #76\] ; 00000280 <thumb2_ldr\+0x280> + \.\.\. +0000023c <thumb2_ldr\+0x23c> 0000fff0 .word 0x0000fff0 +00000240 <thumb2_ldr\+0x240> ff000000 .word 0xff000000 +00000244 <thumb2_ldr\+0x244> ff000001 .word 0xff000001 +00000248 <thumb2_ldr\+0x248> 00000001 .word 0x00000001 +0000024c <thumb2_ldr\+0x24c> 0000fff0 .word 0x0000fff0 +00000250 <thumb2_ldr\+0x250> 00000002 .word 0x00000002 +00000254 <thumb2_ldr\+0x254> 0000fff0 .word 0x0000fff0 +00000258 <thumb2_ldr\+0x258> 00000003 .word 0x00000003 +0000025c <thumb2_ldr\+0x25c> 0000fff0 .word 0x0000fff0 +00000260 <thumb2_ldr\+0x260> ff000002 .word 0xff000002 +00000264 <thumb2_ldr\+0x264> ff000003 .word 0xff000003 +00000268 <thumb2_ldr\+0x268> 00000004 .word 0x00000004 +0000026c <thumb2_ldr\+0x26c> 0000fff0 .word 0x0000fff0 +00000270 <thumb2_ldr\+0x270> 00000005 .word 0x00000005 +00000274 <thumb2_ldr\+0x274> 0000fff0 .word 0x0000fff0 +00000278 <thumb2_ldr\+0x278> ff000004 .word 0xff000004 +0000027c <thumb2_ldr\+0x27c> ff000005 .word 0xff000005 +00000280 <thumb2_ldr\+0x280> 0000fff0 .word 0x0000fff0 +00000284 <thumb2_ldr\+0x284> ff000004 .word 0xff000004 diff --git a/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.s b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.s new file mode 100644 index 00000000..efbbc77e --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool.s @@ -0,0 +1,95 @@ + .text + .fpu neon + .thumb + .syntax unified + .thumb_func +thumb2_ldr: + .macro vlxr regtype const + .irp regindex, 0, 14, 28, 31 + vldr \regtype\regindex, \const + .endr + .endm + # Thumb-2 support vldr literal pool also. + vlxr s "=0" + vlxr s "=0xff000000" + vlxr s "=-1" + vlxr s "=0x0fff0000" + .pool + + vlxr s "=0" + vlxr s "=0x00ff0000" + vlxr s "=0xff00ffff" + vlxr s "=0x00fff000" + .pool + + vlxr d "=0" + vlxr d "=0xca000000" + vlxr d "=-1" + vlxr d "=0x0fff0000" + .pool + + vlxr d "=0" + vlxr d "=0x00ff0000" + vlxr d "=0xff0000ff" + vlxr d "=0x00fff000" + .pool + + vlxr d "=0" + vlxr d "=0xff00000000000000" + vlxr d "=-1" + vlxr d "=0x0fff000000000000" + .pool + + vlxr d "=0" + vlxr d "=0x00ff00000000000" + vlxr d "=0xff00ffff0000000" + vlxr d "=0xff00ffff0000000" + .pool + + # pool should be aligned to 8-byte. + .p2align 3 + vldr d1, =0x0000fff000000000 + .pool + + # no error when code is align already. + .p2align 3 + add r0, r1, #0 + vldr d1, =0x0000fff000000000 + .pool + + .p2align 3 + vldr d1, =0x0000fff000000000 + vldr s2, =0xff000000 + # padding A + vldr d3, =0x0000fff000000001 + # reuse padding slot A + vldr s4, =0xff000001 + # reuse d3 + vldr d5, =0x0000fff000000001 + # new 8-byte entry + vldr d6, =0x0000fff000000002 + # new 8-byte entry + vldr d7, =0x0000fff000000003 + # new 4-byte entry + vldr s8, =0xff000002 + # padding B + vldr d9, =0x0000fff000000004 + # reuse padding slot B + vldr s10, =0xff000003 + # new 8-byte entry + vldr d11, =0x0000fff000000005 + # new 4 entry + vldr s12, =0xff000004 + # new 4 entry + vldr s13, =0xff000005 + # reuse value of s4 in pool + vldr s14, =0xff000001 + # reuse high part of d1 in pool + vldr s15, =0x0000fff0 + # 8-byte entry reuse two 4-byte entries. + # d16 reuse s12, s13 + vldr d16, =0xff000005ff000004 + # d17 should not reuse high part of d11 and s12. + # because the it's align 8-byte aligned. + vldr d17, =0xff0000040000fff0 + .pool diff --git a/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool_be.d b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool_be.d new file mode 100644 index 00000000..816cddca --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/thumb2_vpool_be.d @@ -0,0 +1,176 @@ +# as: -march=armv6t2 -mbig-endian +# objdump: -dr --prefix-addresses --show-raw-insn +# This test is only valid on ELF based ports. +#not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix* +#name: Thumb2 vldr with immediate constant +#source: thumb2_vpool.s + +.*: +file format .*arm.* + +Disassembly of section .text: +00000000 <thumb2_ldr> ed9f 0a0f vldr s0, \[pc, #60\] ; 00000040 <thumb2_ldr\+0x40> +00000004 <thumb2_ldr\+0x4> ed9f 7a0e vldr s14, \[pc, #56\] ; 00000040 <thumb2_ldr\+0x40> +00000008 <thumb2_ldr\+0x8> ed9f ea0d vldr s28, \[pc, #52\] ; 00000040 <thumb2_ldr\+0x40> +0000000c <thumb2_ldr\+0xc> eddf fa0c vldr s31, \[pc, #48\] ; 00000040 <thumb2_ldr\+0x40> +00000010 <thumb2_ldr\+0x10> ed9f 0a0c vldr s0, \[pc, #48\] ; 00000044 <thumb2_ldr\+0x44> +00000014 <thumb2_ldr\+0x14> ed9f 7a0b vldr s14, \[pc, #44\] ; 00000044 <thumb2_ldr\+0x44> +00000018 <thumb2_ldr\+0x18> ed9f ea0a vldr s28, \[pc, #40\] ; 00000044 <thumb2_ldr\+0x44> +0000001c <thumb2_ldr\+0x1c> eddf fa09 vldr s31, \[pc, #36\] ; 00000044 <thumb2_ldr\+0x44> +00000020 <thumb2_ldr\+0x20> ed9f 0a09 vldr s0, \[pc, #36\] ; 00000048 <thumb2_ldr\+0x48> +00000024 <thumb2_ldr\+0x24> ed9f 7a08 vldr s14, \[pc, #32\] ; 00000048 <thumb2_ldr\+0x48> +00000028 <thumb2_ldr\+0x28> ed9f ea07 vldr s28, \[pc, #28\] ; 00000048 <thumb2_ldr\+0x48> +0000002c <thumb2_ldr\+0x2c> eddf fa06 vldr s31, \[pc, #24\] ; 00000048 <thumb2_ldr\+0x48> +00000030 <thumb2_ldr\+0x30> ed9f 0a06 vldr s0, \[pc, #24\] ; 0000004c <thumb2_ldr\+0x4c> +00000034 <thumb2_ldr\+0x34> ed9f 7a05 vldr s14, \[pc, #20\] ; 0000004c <thumb2_ldr\+0x4c> +00000038 <thumb2_ldr\+0x38> ed9f ea04 vldr s28, \[pc, #16\] ; 0000004c <thumb2_ldr\+0x4c> +0000003c <thumb2_ldr\+0x3c> eddf fa03 vldr s31, \[pc, #12\] ; 0000004c <thumb2_ldr\+0x4c> +00000040 <thumb2_ldr\+0x40> 00000000 .word 0x00000000 +00000044 <thumb2_ldr\+0x44> ff000000 .word 0xff000000 +00000048 <thumb2_ldr\+0x48> ffffffff .word 0xffffffff +0000004c <thumb2_ldr\+0x4c> 0fff0000 .word 0x0fff0000 +00000050 <thumb2_ldr\+0x50> ed9f 0a0f vldr s0, \[pc, #60\] ; 00000090 <thumb2_ldr\+0x90> +00000054 <thumb2_ldr\+0x54> ed9f 7a0e vldr s14, \[pc, #56\] ; 00000090 <thumb2_ldr\+0x90> +00000058 <thumb2_ldr\+0x58> ed9f ea0d vldr s28, \[pc, #52\] ; 00000090 <thumb2_ldr\+0x90> +0000005c <thumb2_ldr\+0x5c> eddf fa0c vldr s31, \[pc, #48\] ; 00000090 <thumb2_ldr\+0x90> +00000060 <thumb2_ldr\+0x60> ed9f 0a0c vldr s0, \[pc, #48\] ; 00000094 <thumb2_ldr\+0x94> +00000064 <thumb2_ldr\+0x64> ed9f 7a0b vldr s14, \[pc, #44\] ; 00000094 <thumb2_ldr\+0x94> +00000068 <thumb2_ldr\+0x68> ed9f ea0a vldr s28, \[pc, #40\] ; 00000094 <thumb2_ldr\+0x94> +0000006c <thumb2_ldr\+0x6c> eddf fa09 vldr s31, \[pc, #36\] ; 00000094 <thumb2_ldr\+0x94> +00000070 <thumb2_ldr\+0x70> ed9f 0a09 vldr s0, \[pc, #36\] ; 00000098 <thumb2_ldr\+0x98> +00000074 <thumb2_ldr\+0x74> ed9f 7a08 vldr s14, \[pc, #32\] ; 00000098 <thumb2_ldr\+0x98> +00000078 <thumb2_ldr\+0x78> ed9f ea07 vldr s28, \[pc, #28\] ; 00000098 <thumb2_ldr\+0x98> +0000007c <thumb2_ldr\+0x7c> eddf fa06 vldr s31, \[pc, #24\] ; 00000098 <thumb2_ldr\+0x98> +00000080 <thumb2_ldr\+0x80> ed9f 0a06 vldr s0, \[pc, #24\] ; 0000009c <thumb2_ldr\+0x9c> +00000084 <thumb2_ldr\+0x84> ed9f 7a05 vldr s14, \[pc, #20\] ; 0000009c <thumb2_ldr\+0x9c> +00000088 <thumb2_ldr\+0x88> ed9f ea04 vldr s28, \[pc, #16\] ; 0000009c <thumb2_ldr\+0x9c> +0000008c <thumb2_ldr\+0x8c> eddf fa03 vldr s31, \[pc, #12\] ; 0000009c <thumb2_ldr\+0x9c> +00000090 <thumb2_ldr\+0x90> 00000000 .word 0x00000000 +00000094 <thumb2_ldr\+0x94> 00ff0000 .word 0x00ff0000 +00000098 <thumb2_ldr\+0x98> ff00ffff .word 0xff00ffff +0000009c <thumb2_ldr\+0x9c> 00fff000 .word 0x00fff000 +000000a0 <thumb2_ldr\+0xa0> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +000000a4 <thumb2_ldr\+0xa4> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +000000a8 <thumb2_ldr\+0xa8> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +000000ac <thumb2_ldr\+0xac> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +000000b0 <thumb2_ldr\+0xb0> ed9f 0b0b vldr d0, \[pc, #44\] ; 000000e0 <thumb2_ldr\+0xe0> +000000b4 <thumb2_ldr\+0xb4> ed9f eb0a vldr d14, \[pc, #40\] ; 000000e0 <thumb2_ldr\+0xe0> +000000b8 <thumb2_ldr\+0xb8> eddf cb09 vldr d28, \[pc, #36\] ; 000000e0 <thumb2_ldr\+0xe0> +000000bc <thumb2_ldr\+0xbc> eddf fb08 vldr d31, \[pc, #32\] ; 000000e0 <thumb2_ldr\+0xe0> +000000c0 <thumb2_ldr\+0xc0> ff87 0e3f vmov.i64 d0, #0xffffffffffffffff +000000c4 <thumb2_ldr\+0xc4> ff87 ee3f vmov.i64 d14, #0xffffffffffffffff +000000c8 <thumb2_ldr\+0xc8> ffc7 ce3f vmov.i64 d28, #0xffffffffffffffff +000000cc <thumb2_ldr\+0xcc> ffc7 fe3f vmov.i64 d31, #0xffffffffffffffff +000000d0 <thumb2_ldr\+0xd0> ed9f 0b05 vldr d0, \[pc, #20\] ; 000000e8 <thumb2_ldr\+0xe8> +000000d4 <thumb2_ldr\+0xd4> ed9f eb04 vldr d14, \[pc, #16\] ; 000000e8 <thumb2_ldr\+0xe8> +000000d8 <thumb2_ldr\+0xd8> eddf cb03 vldr d28, \[pc, #12\] ; 000000e8 <thumb2_ldr\+0xe8> +000000dc <thumb2_ldr\+0xdc> eddf fb02 vldr d31, \[pc, #8\] ; 000000e8 <thumb2_ldr\+0xe8> +000000e0 <thumb2_ldr\+0xe0> 00000000 .word 0x00000000 +000000e4 <thumb2_ldr\+0xe4> ca000000 .word 0xca000000 +000000e8 <thumb2_ldr\+0xe8> 00000000 .word 0x00000000 +000000ec <thumb2_ldr\+0xec> 0fff0000 .word 0x0fff0000 +000000f0 <thumb2_ldr\+0xf0> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +000000f4 <thumb2_ldr\+0xf4> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +000000f8 <thumb2_ldr\+0xf8> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +000000fc <thumb2_ldr\+0xfc> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000100 <thumb2_ldr\+0x100> ef80 0e34 vmov.i64 d0, #0x0000000000ff0000 +00000104 <thumb2_ldr\+0x104> ef80 ee34 vmov.i64 d14, #0x0000000000ff0000 +00000108 <thumb2_ldr\+0x108> efc0 ce34 vmov.i64 d28, #0x0000000000ff0000 +0000010c <thumb2_ldr\+0x10c> efc0 fe34 vmov.i64 d31, #0x0000000000ff0000 +00000110 <thumb2_ldr\+0x110> ef80 0e39 vmov.i64 d0, #0x00000000ff0000ff +00000114 <thumb2_ldr\+0x114> ef80 ee39 vmov.i64 d14, #0x00000000ff0000ff +00000118 <thumb2_ldr\+0x118> efc0 ce39 vmov.i64 d28, #0x00000000ff0000ff +0000011c <thumb2_ldr\+0x11c> efc0 fe39 vmov.i64 d31, #0x00000000ff0000ff +00000120 <thumb2_ldr\+0x120> ed9f 0b03 vldr d0, \[pc, #12\] ; 00000130 <thumb2_ldr\+0x130> +00000124 <thumb2_ldr\+0x124> ed9f eb02 vldr d14, \[pc, #8\] ; 00000130 <thumb2_ldr\+0x130> +00000128 <thumb2_ldr\+0x128> eddf cb01 vldr d28, \[pc, #4\] ; 00000130 <thumb2_ldr\+0x130> +0000012c <thumb2_ldr\+0x12c> eddf fb00 vldr d31, \[pc\] ; 00000130 <thumb2_ldr\+0x130> +00000130 <thumb2_ldr\+0x130> 00000000 .word 0x00000000 +00000134 <thumb2_ldr\+0x134> 00fff000 .word 0x00fff000 +00000138 <thumb2_ldr\+0x138> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +0000013c <thumb2_ldr\+0x13c> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +00000140 <thumb2_ldr\+0x140> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +00000144 <thumb2_ldr\+0x144> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000148 <thumb2_ldr\+0x148> ff80 0e30 vmov.i64 d0, #0xff00000000000000 +0000014c <thumb2_ldr\+0x14c> ff80 ee30 vmov.i64 d14, #0xff00000000000000 +00000150 <thumb2_ldr\+0x150> ffc0 ce30 vmov.i64 d28, #0xff00000000000000 +00000154 <thumb2_ldr\+0x154> ffc0 fe30 vmov.i64 d31, #0xff00000000000000 +00000158 <thumb2_ldr\+0x158> ff87 0e3f vmov.i64 d0, #0xffffffffffffffff +0000015c <thumb2_ldr\+0x15c> ff87 ee3f vmov.i64 d14, #0xffffffffffffffff +00000160 <thumb2_ldr\+0x160> ffc7 ce3f vmov.i64 d28, #0xffffffffffffffff +00000164 <thumb2_ldr\+0x164> ffc7 fe3f vmov.i64 d31, #0xffffffffffffffff +00000168 <thumb2_ldr\+0x168> ed9f 0b03 vldr d0, \[pc, #12\] ; 00000178 <thumb2_ldr\+0x178> +0000016c <thumb2_ldr\+0x16c> ed9f eb02 vldr d14, \[pc, #8\] ; 00000178 <thumb2_ldr\+0x178> +00000170 <thumb2_ldr\+0x170> eddf cb01 vldr d28, \[pc, #4\] ; 00000178 <thumb2_ldr\+0x178> +00000174 <thumb2_ldr\+0x174> eddf fb00 vldr d31, \[pc\] ; 00000178 <thumb2_ldr\+0x178> +00000178 <thumb2_ldr\+0x178> 0fff0000 .word 0x0fff0000 +0000017c <thumb2_ldr\+0x17c> 00000000 .word 0x00000000 +00000180 <thumb2_ldr\+0x180> ef80 0e30 vmov.i64 d0, #0x0000000000000000 +00000184 <thumb2_ldr\+0x184> ef80 ee30 vmov.i64 d14, #0x0000000000000000 +00000188 <thumb2_ldr\+0x188> efc0 ce30 vmov.i64 d28, #0x0000000000000000 +0000018c <thumb2_ldr\+0x18c> efc0 fe30 vmov.i64 d31, #0x0000000000000000 +00000190 <thumb2_ldr\+0x190> ed9f 0b0b vldr d0, \[pc, #44\] ; 000001c0 <thumb2_ldr\+0x1c0> +00000194 <thumb2_ldr\+0x194> ed9f eb0a vldr d14, \[pc, #40\] ; 000001c0 <thumb2_ldr\+0x1c0> +00000198 <thumb2_ldr\+0x198> eddf cb09 vldr d28, \[pc, #36\] ; 000001c0 <thumb2_ldr\+0x1c0> +0000019c <thumb2_ldr\+0x19c> eddf fb08 vldr d31, \[pc, #32\] ; 000001c0 <thumb2_ldr\+0x1c0> +000001a0 <thumb2_ldr\+0x1a0> ed9f 0b09 vldr d0, \[pc, #36\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001a4 <thumb2_ldr\+0x1a4> ed9f eb08 vldr d14, \[pc, #32\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001a8 <thumb2_ldr\+0x1a8> eddf cb07 vldr d28, \[pc, #28\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001ac <thumb2_ldr\+0x1ac> eddf fb06 vldr d31, \[pc, #24\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b0 <thumb2_ldr\+0x1b0> ed9f 0b05 vldr d0, \[pc, #20\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b4 <thumb2_ldr\+0x1b4> ed9f eb04 vldr d14, \[pc, #16\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001b8 <thumb2_ldr\+0x1b8> eddf cb03 vldr d28, \[pc, #12\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001bc <thumb2_ldr\+0x1bc> eddf fb02 vldr d31, \[pc, #8\] ; 000001c8 <thumb2_ldr\+0x1c8> +000001c0 <thumb2_ldr\+0x1c0> 000ff000 .word 0x000ff000 +000001c4 <thumb2_ldr\+0x1c4> 00000000 .word 0x00000000 +000001c8 <thumb2_ldr\+0x1c8> 0ff00fff .word 0x0ff00fff +000001cc <thumb2_ldr\+0x1cc> f0000000 .word 0xf0000000 +000001d0 <thumb2_ldr\+0x1d0> ed9f 1b01 vldr d1, \[pc, #4\] ; 000001d8 <thumb2_ldr\+0x1d8> +000001d4 <thumb2_ldr\+0x1d4> 0000 movs r0, r0 +000001d6 <thumb2_ldr\+0x1d6> 0000 movs r0, r0 +000001d8 <thumb2_ldr\+0x1d8> 0000fff0 .word 0x0000fff0 +000001dc <thumb2_ldr\+0x1dc> 00000000 .word 0x00000000 +000001e0 <thumb2_ldr\+0x1e0> f101 0000 add.w r0, r1, #0 +000001e4 <thumb2_ldr\+0x1e4> ed9f 1b00 vldr d1, \[pc\] ; 000001e8 <thumb2_ldr\+0x1e8> +000001e8 <thumb2_ldr\+0x1e8> 0000fff0 .word 0x0000fff0 +000001ec <thumb2_ldr\+0x1ec> 00000000 .word 0x00000000 +000001f0 <thumb2_ldr\+0x1f0> ed9f 1b11 vldr d1, \[pc, #68\] ; 00000238 <thumb2_ldr\+0x238> +000001f4 <thumb2_ldr\+0x1f4> ed9f 1a12 vldr s2, \[pc, #72\] ; 00000240 <thumb2_ldr\+0x240> +000001f8 <thumb2_ldr\+0x1f8> ed9f 3b13 vldr d3, \[pc, #76\] ; 00000248 <thumb2_ldr\+0x248> +000001fc <thumb2_ldr\+0x1fc> ed9f 2a11 vldr s4, \[pc, #68\] ; 00000244 <thumb2_ldr\+0x244> +00000200 <thumb2_ldr\+0x200> ed9f 5b11 vldr d5, \[pc, #68\] ; 00000248 <thumb2_ldr\+0x248> +00000204 <thumb2_ldr\+0x204> ed9f 6b12 vldr d6, \[pc, #72\] ; 00000250 <thumb2_ldr\+0x250> +00000208 <thumb2_ldr\+0x208> ed9f 7b13 vldr d7, \[pc, #76\] ; 00000258 <thumb2_ldr\+0x258> +0000020c <thumb2_ldr\+0x20c> ed9f 4a14 vldr s8, \[pc, #80\] ; 00000260 <thumb2_ldr\+0x260> +00000210 <thumb2_ldr\+0x210> ed9f 9b15 vldr d9, \[pc, #84\] ; 00000268 <thumb2_ldr\+0x268> +00000214 <thumb2_ldr\+0x214> ed9f 5a13 vldr s10, \[pc, #76\] ; 00000264 <thumb2_ldr\+0x264> +00000218 <thumb2_ldr\+0x218> ed9f bb15 vldr d11, \[pc, #84\] ; 00000270 <thumb2_ldr\+0x270> +0000021c <thumb2_ldr\+0x21c> ed9f 6a16 vldr s12, \[pc, #88\] ; 00000278 <thumb2_ldr\+0x278> +00000220 <thumb2_ldr\+0x220> eddf 6a16 vldr s13, \[pc, #88\] ; 0000027c <thumb2_ldr\+0x27c> +00000224 <thumb2_ldr\+0x224> ed9f 7a07 vldr s14, \[pc, #28\] ; 00000244 <thumb2_ldr\+0x244> +00000228 <thumb2_ldr\+0x228> eddf 7a03 vldr s15, \[pc, #12\] ; 00000238 <thumb2_ldr\+0x238> +0000022c <thumb2_ldr\+0x22c> eddf 0b14 vldr d16, \[pc, #80\] ; 00000280 <thumb2_ldr\+0x280> +00000230 <thumb2_ldr\+0x230> eddf 1b15 vldr d17, \[pc, #84\] ; 00000288 <thumb2_ldr\+0x288> +00000234 <thumb2_ldr\+0x234> 0000 movs r0, r0 +00000236 <thumb2_ldr\+0x236> 0000 movs r0, r0 +00000238 <thumb2_ldr\+0x238> 0000fff0 .word 0x0000fff0 +0000023c <thumb2_ldr\+0x23c> 00000000 .word 0x00000000 +00000240 <thumb2_ldr\+0x240> ff000000 .word 0xff000000 +00000244 <thumb2_ldr\+0x244> ff000001 .word 0xff000001 +00000248 <thumb2_ldr\+0x248> 0000fff0 .word 0x0000fff0 +0000024c <thumb2_ldr\+0x24c> 00000001 .word 0x00000001 +00000250 <thumb2_ldr\+0x250> 0000fff0 .word 0x0000fff0 +00000254 <thumb2_ldr\+0x254> 00000002 .word 0x00000002 +00000258 <thumb2_ldr\+0x258> 0000fff0 .word 0x0000fff0 +0000025c <thumb2_ldr\+0x25c> 00000003 .word 0x00000003 +00000260 <thumb2_ldr\+0x260> ff000002 .word 0xff000002 +00000264 <thumb2_ldr\+0x264> ff000003 .word 0xff000003 +00000268 <thumb2_ldr\+0x268> 0000fff0 .word 0x0000fff0 +0000026c <thumb2_ldr\+0x26c> 00000004 .word 0x00000004 +00000270 <thumb2_ldr\+0x270> 0000fff0 .word 0x0000fff0 +00000274 <thumb2_ldr\+0x274> 00000005 .word 0x00000005 +00000278 <thumb2_ldr\+0x278> ff000004 .word 0xff000004 +0000027c <thumb2_ldr\+0x27c> ff000005 .word 0xff000005 +00000280 <thumb2_ldr\+0x280> ff000005 .word 0xff000005 +00000284 <thumb2_ldr\+0x284> ff000004 .word 0xff000004 +00000288 <thumb2_ldr\+0x288> ff000004 .word 0xff000004 +0000028c <thumb2_ldr\+0x28c> 0000fff0 .word 0x0000fff0 diff --git a/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.d b/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.d new file mode 100644 index 00000000..2e9fb3d5 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.d @@ -0,0 +1,24 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: UAL vcmp with 0 +#as: -mfpu=vfpv3 + +.*: +file format .*arm.* + + +Disassembly of section .text: +0+000 <[^>]*> eeb50a40 vcmp.f32 s0, #0.0 +0+004 <[^>]*> eef50a40 vcmp.f32 s1, #0.0 +0+008 <[^>]*> eef51ac0 vcmpe.f32 s3, #0.0 +0+00c <[^>]*> eeb52ac0 vcmpe.f32 s4, #0.0 +0+010 <[^>]*> eef52a40 vcmp.f32 s5, #0.0 +0+014 <[^>]*> eeb53a40 vcmp.f32 s6, #0.0 +0+018 <[^>]*> eef53ac0 vcmpe.f32 s7, #0.0 +0+01c <[^>]*> eeb54ac0 vcmpe.f32 s8, #0.0 +0+020 <[^>]*> eeb50b40 vcmp.f64 d0, #0.0 +0+024 <[^>]*> eeb51b40 vcmp.f64 d1, #0.0 +0+028 <[^>]*> eeb52bc0 vcmpe.f64 d2, #0.0 +0+02c <[^>]*> eeb53bc0 vcmpe.f64 d3, #0.0 +0+030 <[^>]*> eeb54b40 vcmp.f64 d4, #0.0 +0+034 <[^>]*> eeb55b40 vcmp.f64 d5, #0.0 +0+038 <[^>]*> eeb56bc0 vcmpe.f64 d6, #0.0 +0+03c <[^>]*> eeb57bc0 vcmpe.f64 d7, #0.0
\ No newline at end of file diff --git a/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.s b/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.s new file mode 100644 index 00000000..79efa4e7 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/ual-vcmp.s @@ -0,0 +1,21 @@ +.text +.arm +.syntax unified + +vcmp.f32 s0, #0.0 +vcmp.f32 s1, #0 +vcmpe.f32 s3, #0.0 +vcmpe.f32 s4, #0 +vcmp.f32 s5, #0.0e2 +vcmp.f32 s6, #0e-3 +vcmpe.f32 s7, #0.0000 +vcmpe.f32 s8, #.0 + +vcmp.f64 d0, #0.0 +vcmp.f64 d1, #0 +vcmpe.f64 d2, #0.0 +vcmpe.f64 d3, #0 +vcmp.f64 d4, #0.0e5 +vcmp.f64 d5, #0e-2 +vcmpe.f64 d6, #0.00 +vcmpe.f64 d7, #.0 diff --git a/binutils-2.25/gas/testsuite/gas/arm/unwind.d b/binutils-2.25/gas/testsuite/gas/arm/unwind.d index 060f7ba5..557c3e47 100644 --- a/binutils-2.25/gas/testsuite/gas/arm/unwind.d +++ b/binutils-2.25/gas/testsuite/gas/arm/unwind.d @@ -31,7 +31,7 @@ OFFSET TYPE VALUE Contents of section .text: 0000 (0000a0e3 0100a0e3 0200a0e3 0300a0e3|e3a00000 e3a00001 e3a00002 e3a00003) .* - 0010 (04200520 0600a0e3|20052004 e3a00006) .* + 0010 (04200520 0600a0e3|20042005 e3a00006) .* Contents of section .ARM.extab: 0000 (449b0181 b0b08086|81019b44 8680b0b0) 00000000 00000000 .* 0010 (8402b101 b0b0b005 2a000000 00c60281|01b10284 05b0b0b0 0000002a 8102c600) .* diff --git a/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.d b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.d new file mode 100644 index 00000000..806cf00f --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.d @@ -0,0 +1,4 @@ +# name: UAL vcmp with #0.0 bad instructions. +# as: -mfpu=vfpv3 +# source: vcmp-zero-bad.s +# error-output: vcmp-zero-bad.l diff --git a/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.l b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.l new file mode 100644 index 00000000..975d02b8 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.l @@ -0,0 +1,8 @@ +[^:]*: Assembler messages: +[^:]*:5: Error: only floating point zero is allowed as immediate value -- `vcmp.f32 s0,#0.01' +[^:]*:6: Error: only floating point zero is allowed as immediate value -- `vcmp.f32 s1,#2' +[^:]*:7: Error: only floating point zero is allowed as immediate value -- `vcmpe.f32 s3,5' +[^:]*:8: Error: only floating point zero is allowed as immediate value -- `vcmpe.f32 s4,#-0.0' +[^:]*:10: Error: only floating point zero is allowed as immediate value -- `vcmp.f64 d0,#-1' +[^:]*:11: Error: garbage following instruction -- `vcmpe.f64 d3,#0x35' +[^:]*:12: Error: only floating point zero is allowed as immediate value -- `vcmpe.f64 d4,0xf' diff --git a/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.s b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.s new file mode 100644 index 00000000..3be79cba --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vcmp-zero-bad.s @@ -0,0 +1,12 @@ +.text +.arm +.syntax unified + +vcmp.f32 s0, #0.01 +vcmp.f32 s1, #2 +vcmpe.f32 s3, 5 +vcmpe.f32 s4, #-0.0 + +vcmp.f64 d0, #-1 +vcmpe.f64 d3, #0x35 +vcmpe.f64 d4, 0xf diff --git a/binutils-2.25/gas/testsuite/gas/arm/vldconst.d b/binutils-2.25/gas/testsuite/gas/arm/vldconst.d new file mode 100644 index 00000000..221f3e38 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vldconst.d @@ -0,0 +1,280 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: ARM vldr with immediate constant +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd +#as: -mcpu=arm7m -EL + +.*: +file format .*arm.* + +Disassembly of section .text: +00000000 <foo> ed9f0a0e vldr s0, \[pc, #56\] ; 00000040 <foo\+0x40> +00000004 <foo\+0x4> ed9f7a0d vldr s14, \[pc, #52\] ; 00000040 <foo\+0x40> +00000008 <foo\+0x8> ed9fea0c vldr s28, \[pc, #48\] ; 00000040 <foo\+0x40> +0000000c <foo\+0xc> eddffa0b vldr s31, \[pc, #44\] ; 00000040 <foo\+0x40> +00000010 <foo\+0x10> ed9f0a0b vldr s0, \[pc, #44\] ; 00000044 <foo\+0x44> +00000014 <foo\+0x14> ed9f7a0a vldr s14, \[pc, #40\] ; 00000044 <foo\+0x44> +00000018 <foo\+0x18> ed9fea09 vldr s28, \[pc, #36\] ; 00000044 <foo\+0x44> +0000001c <foo\+0x1c> eddffa08 vldr s31, \[pc, #32\] ; 00000044 <foo\+0x44> +00000020 <foo\+0x20> ed9f0a08 vldr s0, \[pc, #32\] ; 00000048 <foo\+0x48> +00000024 <foo\+0x24> ed9f7a07 vldr s14, \[pc, #28\] ; 00000048 <foo\+0x48> +00000028 <foo\+0x28> ed9fea06 vldr s28, \[pc, #24\] ; 00000048 <foo\+0x48> +0000002c <foo\+0x2c> eddffa05 vldr s31, \[pc, #20\] ; 00000048 <foo\+0x48> +00000030 <foo\+0x30> ed9f0a05 vldr s0, \[pc, #20\] ; 0000004c <foo\+0x4c> +00000034 <foo\+0x34> ed9f7a04 vldr s14, \[pc, #16\] ; 0000004c <foo\+0x4c> +00000038 <foo\+0x38> ed9fea03 vldr s28, \[pc, #12\] ; 0000004c <foo\+0x4c> +0000003c <foo\+0x3c> eddffa02 vldr s31, \[pc, #8\] ; 0000004c <foo\+0x4c> +00000040 <foo\+0x40> 00000000 .word 0x00000000 +00000044 <foo\+0x44> ff000000 .word 0xff000000 +00000048 <foo\+0x48> ffffffff .word 0xffffffff +0000004c <foo\+0x4c> 0fff0000 .word 0x0fff0000 +00000050 <foo\+0x50> ed9f0a0e vldr s0, \[pc, #56\] ; 00000090 <foo\+0x90> +00000054 <foo\+0x54> ed9f7a0d vldr s14, \[pc, #52\] ; 00000090 <foo\+0x90> +00000058 <foo\+0x58> ed9fea0c vldr s28, \[pc, #48\] ; 00000090 <foo\+0x90> +0000005c <foo\+0x5c> eddffa0b vldr s31, \[pc, #44\] ; 00000090 <foo\+0x90> +00000060 <foo\+0x60> ed9f0a0b vldr s0, \[pc, #44\] ; 00000094 <foo\+0x94> +00000064 <foo\+0x64> ed9f7a0a vldr s14, \[pc, #40\] ; 00000094 <foo\+0x94> +00000068 <foo\+0x68> ed9fea09 vldr s28, \[pc, #36\] ; 00000094 <foo\+0x94> +0000006c <foo\+0x6c> eddffa08 vldr s31, \[pc, #32\] ; 00000094 <foo\+0x94> +00000070 <foo\+0x70> ed9f0a08 vldr s0, \[pc, #32\] ; 00000098 <foo\+0x98> +00000074 <foo\+0x74> ed9f7a07 vldr s14, \[pc, #28\] ; 00000098 <foo\+0x98> +00000078 <foo\+0x78> ed9fea06 vldr s28, \[pc, #24\] ; 00000098 <foo\+0x98> +0000007c <foo\+0x7c> eddffa05 vldr s31, \[pc, #20\] ; 00000098 <foo\+0x98> +00000080 <foo\+0x80> ed9f0a05 vldr s0, \[pc, #20\] ; 0000009c <foo\+0x9c> +00000084 <foo\+0x84> ed9f7a04 vldr s14, \[pc, #16\] ; 0000009c <foo\+0x9c> +00000088 <foo\+0x88> ed9fea03 vldr s28, \[pc, #12\] ; 0000009c <foo\+0x9c> +0000008c <foo\+0x8c> eddffa02 vldr s31, \[pc, #8\] ; 0000009c <foo\+0x9c> +00000090 <foo\+0x90> 00000000 .word 0x00000000 +00000094 <foo\+0x94> 00ff0000 .word 0x00ff0000 +00000098 <foo\+0x98> ff00ffff .word 0xff00ffff +0000009c <foo\+0x9c> 00fff000 .word 0x00fff000 +000000a0 <foo\+0xa0> 0d9f0a0e vldreq s0, \[pc, #56\] ; 000000e0 <foo\+0xe0> +000000a4 <foo\+0xa4> 0d9f7a0d vldreq s14, \[pc, #52\] ; 000000e0 <foo\+0xe0> +000000a8 <foo\+0xa8> 0d9fea0c vldreq s28, \[pc, #48\] ; 000000e0 <foo\+0xe0> +000000ac <foo\+0xac> 0ddffa0b vldreq s31, \[pc, #44\] ; 000000e0 <foo\+0xe0> +000000b0 <foo\+0xb0> 0d9f0a0b vldreq s0, \[pc, #44\] ; 000000e4 <foo\+0xe4> +000000b4 <foo\+0xb4> 0d9f7a0a vldreq s14, \[pc, #40\] ; 000000e4 <foo\+0xe4> +000000b8 <foo\+0xb8> 0d9fea09 vldreq s28, \[pc, #36\] ; 000000e4 <foo\+0xe4> +000000bc <foo\+0xbc> 0ddffa08 vldreq s31, \[pc, #32\] ; 000000e4 <foo\+0xe4> +000000c0 <foo\+0xc0> 0d9f0a08 vldreq s0, \[pc, #32\] ; 000000e8 <foo\+0xe8> +000000c4 <foo\+0xc4> 0d9f7a07 vldreq s14, \[pc, #28\] ; 000000e8 <foo\+0xe8> +000000c8 <foo\+0xc8> 0d9fea06 vldreq s28, \[pc, #24\] ; 000000e8 <foo\+0xe8> +000000cc <foo\+0xcc> 0ddffa05 vldreq s31, \[pc, #20\] ; 000000e8 <foo\+0xe8> +000000d0 <foo\+0xd0> 0d9f0a05 vldreq s0, \[pc, #20\] ; 000000ec <foo\+0xec> +000000d4 <foo\+0xd4> 0d9f7a04 vldreq s14, \[pc, #16\] ; 000000ec <foo\+0xec> +000000d8 <foo\+0xd8> 0d9fea03 vldreq s28, \[pc, #12\] ; 000000ec <foo\+0xec> +000000dc <foo\+0xdc> 0ddffa02 vldreq s31, \[pc, #8\] ; 000000ec <foo\+0xec> +000000e0 <foo\+0xe0> 00000000 .word 0x00000000 +000000e4 <foo\+0xe4> 0000ff00 .word 0x0000ff00 +000000e8 <foo\+0xe8> ffff00ff .word 0xffff00ff +000000ec <foo\+0xec> 000fff00 .word 0x000fff00 +000000f0 <foo\+0xf0> 4d9f0a0e vldrmi s0, \[pc, #56\] ; 00000130 <foo\+0x130> +000000f4 <foo\+0xf4> 4d9f7a0d vldrmi s14, \[pc, #52\] ; 00000130 <foo\+0x130> +000000f8 <foo\+0xf8> 4d9fea0c vldrmi s28, \[pc, #48\] ; 00000130 <foo\+0x130> +000000fc <foo\+0xfc> 4ddffa0b vldrmi s31, \[pc, #44\] ; 00000130 <foo\+0x130> +00000100 <foo\+0x100> 4d9f0a0b vldrmi s0, \[pc, #44\] ; 00000134 <foo\+0x134> +00000104 <foo\+0x104> 4d9f7a0a vldrmi s14, \[pc, #40\] ; 00000134 <foo\+0x134> +00000108 <foo\+0x108> 4d9fea09 vldrmi s28, \[pc, #36\] ; 00000134 <foo\+0x134> +0000010c <foo\+0x10c> 4ddffa08 vldrmi s31, \[pc, #32\] ; 00000134 <foo\+0x134> +00000110 <foo\+0x110> 4d9f0a08 vldrmi s0, \[pc, #32\] ; 00000138 <foo\+0x138> +00000114 <foo\+0x114> 4d9f7a07 vldrmi s14, \[pc, #28\] ; 00000138 <foo\+0x138> +00000118 <foo\+0x118> 4d9fea06 vldrmi s28, \[pc, #24\] ; 00000138 <foo\+0x138> +0000011c <foo\+0x11c> 4ddffa05 vldrmi s31, \[pc, #20\] ; 00000138 <foo\+0x138> +00000120 <foo\+0x120> 4d9f0a05 vldrmi s0, \[pc, #20\] ; 0000013c <foo\+0x13c> +00000124 <foo\+0x124> 4d9f7a04 vldrmi s14, \[pc, #16\] ; 0000013c <foo\+0x13c> +00000128 <foo\+0x128> 4d9fea03 vldrmi s28, \[pc, #12\] ; 0000013c <foo\+0x13c> +0000012c <foo\+0x12c> 4ddffa02 vldrmi s31, \[pc, #8\] ; 0000013c <foo\+0x13c> +00000130 <foo\+0x130> 00000000 .word 0x00000000 +00000134 <foo\+0x134> 000000ff .word 0x000000ff +00000138 <foo\+0x138> ffffff00 .word 0xffffff00 +0000013c <foo\+0x13c> 0000fff0 .word 0x0000fff0 +00000140 <foo\+0x140> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000144 <foo\+0x144> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000148 <foo\+0x148> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000014c <foo\+0x14c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000150 <foo\+0x150> ed9f0b0a vldr d0, \[pc, #40\] ; 00000180 <foo\+0x180> +00000154 <foo\+0x154> ed9feb09 vldr d14, \[pc, #36\] ; 00000180 <foo\+0x180> +00000158 <foo\+0x158> eddfcb08 vldr d28, \[pc, #32\] ; 00000180 <foo\+0x180> +0000015c <foo\+0x15c> eddffb07 vldr d31, \[pc, #28\] ; 00000180 <foo\+0x180> +00000160 <foo\+0x160> f3870e3f vmov.i64 d0, #0xffffffffffffffff +00000164 <foo\+0x164> f387ee3f vmov.i64 d14, #0xffffffffffffffff +00000168 <foo\+0x168> f3c7ce3f vmov.i64 d28, #0xffffffffffffffff +0000016c <foo\+0x16c> f3c7fe3f vmov.i64 d31, #0xffffffffffffffff +00000170 <foo\+0x170> ed9f0b04 vldr d0, \[pc, #16\] ; 00000188 <foo\+0x188> +00000174 <foo\+0x174> ed9feb03 vldr d14, \[pc, #12\] ; 00000188 <foo\+0x188> +00000178 <foo\+0x178> eddfcb02 vldr d28, \[pc, #8\] ; 00000188 <foo\+0x188> +0000017c <foo\+0x17c> eddffb01 vldr d31, \[pc, #4\] ; 00000188 <foo\+0x188> +00000180 <foo\+0x180> ca000000 .word 0xca000000 +00000184 <foo\+0x184> 00000000 .word 0x00000000 +00000188 <foo\+0x188> 0fff0000 .word 0x0fff0000 +0000018c <foo\+0x18c> 00000000 .word 0x00000000 +00000190 <foo\+0x190> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000194 <foo\+0x194> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000198 <foo\+0x198> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000019c <foo\+0x19c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000001a0 <foo\+0x1a0> f2800e34 vmov.i64 d0, #0x0000000000ff0000 +000001a4 <foo\+0x1a4> f280ee34 vmov.i64 d14, #0x0000000000ff0000 +000001a8 <foo\+0x1a8> f2c0ce34 vmov.i64 d28, #0x0000000000ff0000 +000001ac <foo\+0x1ac> f2c0fe34 vmov.i64 d31, #0x0000000000ff0000 +000001b0 <foo\+0x1b0> f2800e39 vmov.i64 d0, #0x00000000ff0000ff +000001b4 <foo\+0x1b4> f280ee39 vmov.i64 d14, #0x00000000ff0000ff +000001b8 <foo\+0x1b8> f2c0ce39 vmov.i64 d28, #0x00000000ff0000ff +000001bc <foo\+0x1bc> f2c0fe39 vmov.i64 d31, #0x00000000ff0000ff +000001c0 <foo\+0x1c0> ed9f0b02 vldr d0, \[pc, #8\] ; 000001d0 <foo\+0x1d0> +000001c4 <foo\+0x1c4> ed9feb01 vldr d14, \[pc, #4\] ; 000001d0 <foo\+0x1d0> +000001c8 <foo\+0x1c8> eddfcb00 vldr d28, \[pc\] ; 000001d0 <foo\+0x1d0> +000001cc <foo\+0x1cc> ed5ffb01 vldr d31, \[pc, #-4\] ; 000001d0 <foo\+0x1d0> +000001d0 <foo\+0x1d0> 00fff000 .word 0x00fff000 +000001d4 <foo\+0x1d4> 00000000 .word 0x00000000 +000001d8 <foo\+0x1d8> f2800e30 vmov.i64 d0, #0x0000000000000000 +000001dc <foo\+0x1dc> f280ee30 vmov.i64 d14, #0x0000000000000000 +000001e0 <foo\+0x1e0> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +000001e4 <foo\+0x1e4> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000001e8 <foo\+0x1e8> f2800e32 vmov.i64 d0, #0x000000000000ff00 +000001ec <foo\+0x1ec> f280ee32 vmov.i64 d14, #0x000000000000ff00 +000001f0 <foo\+0x1f0> f2c0ce32 vmov.i64 d28, #0x000000000000ff00 +000001f4 <foo\+0x1f4> f2c0fe32 vmov.i64 d31, #0x000000000000ff00 +000001f8 <foo\+0x1f8> f2800e3d vmov.i64 d0, #0x00000000ffff00ff +000001fc <foo\+0x1fc> f280ee3d vmov.i64 d14, #0x00000000ffff00ff +00000200 <foo\+0x200> f2c0ce3d vmov.i64 d28, #0x00000000ffff00ff +00000204 <foo\+0x204> f2c0fe3d vmov.i64 d31, #0x00000000ffff00ff +00000208 <foo\+0x208> 0d9f0b02 vldreq d0, \[pc, #8\] ; 00000218 <foo\+0x218> +0000020c <foo\+0x20c> 0d9feb01 vldreq d14, \[pc, #4\] ; 00000218 <foo\+0x218> +00000210 <foo\+0x210> 0ddfcb00 vldreq d28, \[pc\] ; 00000218 <foo\+0x218> +00000214 <foo\+0x214> 0d5ffb01 vldreq d31, \[pc, #-4\] ; 00000218 <foo\+0x218> +00000218 <foo\+0x218> 000fff00 .word 0x000fff00 +0000021c <foo\+0x21c> 00000000 .word 0x00000000 +00000220 <foo\+0x220> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000224 <foo\+0x224> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000228 <foo\+0x228> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000022c <foo\+0x22c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000230 <foo\+0x230> f2800e31 vmov.i64 d0, #0x00000000000000ff +00000234 <foo\+0x234> f280ee31 vmov.i64 d14, #0x00000000000000ff +00000238 <foo\+0x238> f2c0ce31 vmov.i64 d28, #0x00000000000000ff +0000023c <foo\+0x23c> f2c0fe31 vmov.i64 d31, #0x00000000000000ff +00000240 <foo\+0x240> f2800e3e vmov.i64 d0, #0x00000000ffffff00 +00000244 <foo\+0x244> f280ee3e vmov.i64 d14, #0x00000000ffffff00 +00000248 <foo\+0x248> f2c0ce3e vmov.i64 d28, #0x00000000ffffff00 +0000024c <foo\+0x24c> f2c0fe3e vmov.i64 d31, #0x00000000ffffff00 +00000250 <foo\+0x250> f2800e33 vmov.i64 d0, #0x000000000000ffff +00000254 <foo\+0x254> f280ee33 vmov.i64 d14, #0x000000000000ffff +00000258 <foo\+0x258> f2c0ce33 vmov.i64 d28, #0x000000000000ffff +0000025c <foo\+0x25c> f2c0fe33 vmov.i64 d31, #0x000000000000ffff +00000260 <foo\+0x260> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000264 <foo\+0x264> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000268 <foo\+0x268> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000026c <foo\+0x26c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000270 <foo\+0x270> f3800e30 vmov.i64 d0, #0xff00000000000000 +00000274 <foo\+0x274> f380ee30 vmov.i64 d14, #0xff00000000000000 +00000278 <foo\+0x278> f3c0ce30 vmov.i64 d28, #0xff00000000000000 +0000027c <foo\+0x27c> f3c0fe30 vmov.i64 d31, #0xff00000000000000 +00000280 <foo\+0x280> f3870e3f vmov.i64 d0, #0xffffffffffffffff +00000284 <foo\+0x284> f387ee3f vmov.i64 d14, #0xffffffffffffffff +00000288 <foo\+0x288> f3c7ce3f vmov.i64 d28, #0xffffffffffffffff +0000028c <foo\+0x28c> f3c7fe3f vmov.i64 d31, #0xffffffffffffffff +00000290 <foo\+0x290> ed9f0b02 vldr d0, \[pc, #8\] ; 000002a0 <foo\+0x2a0> +00000294 <foo\+0x294> ed9feb01 vldr d14, \[pc, #4\] ; 000002a0 <foo\+0x2a0> +00000298 <foo\+0x298> eddfcb00 vldr d28, \[pc\] ; 000002a0 <foo\+0x2a0> +0000029c <foo\+0x29c> ed5ffb01 vldr d31, \[pc, #-4\] ; 000002a0 <foo\+0x2a0> +000002a0 <foo\+0x2a0> 00000000 .word 0x00000000 +000002a4 <foo\+0x2a4> 0fff0000 .word 0x0fff0000 +000002a8 <foo\+0x2a8> f2800e30 vmov.i64 d0, #0x0000000000000000 +000002ac <foo\+0x2ac> f280ee30 vmov.i64 d14, #0x0000000000000000 +000002b0 <foo\+0x2b0> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +000002b4 <foo\+0x2b4> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000002b8 <foo\+0x2b8> ed9f0b0a vldr d0, \[pc, #40\] ; 000002e8 <foo\+0x2e8> +000002bc <foo\+0x2bc> ed9feb09 vldr d14, \[pc, #36\] ; 000002e8 <foo\+0x2e8> +000002c0 <foo\+0x2c0> eddfcb08 vldr d28, \[pc, #32\] ; 000002e8 <foo\+0x2e8> +000002c4 <foo\+0x2c4> eddffb07 vldr d31, \[pc, #28\] ; 000002e8 <foo\+0x2e8> +000002c8 <foo\+0x2c8> ed9f0b08 vldr d0, \[pc, #32\] ; 000002f0 <foo\+0x2f0> +000002cc <foo\+0x2cc> ed9feb07 vldr d14, \[pc, #28\] ; 000002f0 <foo\+0x2f0> +000002d0 <foo\+0x2d0> eddfcb06 vldr d28, \[pc, #24\] ; 000002f0 <foo\+0x2f0> +000002d4 <foo\+0x2d4> eddffb05 vldr d31, \[pc, #20\] ; 000002f0 <foo\+0x2f0> +000002d8 <foo\+0x2d8> ed9f0b06 vldr d0, \[pc, #24\] ; 000002f8 <foo\+0x2f8> +000002dc <foo\+0x2dc> ed9feb05 vldr d14, \[pc, #20\] ; 000002f8 <foo\+0x2f8> +000002e0 <foo\+0x2e0> eddfcb04 vldr d28, \[pc, #16\] ; 000002f8 <foo\+0x2f8> +000002e4 <foo\+0x2e4> eddffb03 vldr d31, \[pc, #12\] ; 000002f8 <foo\+0x2f8> +000002e8 <foo\+0x2e8> 00000000 .word 0x00000000 +000002ec <foo\+0x2ec> 000ff000 .word 0x000ff000 +000002f0 <foo\+0x2f0> f0000000 .word 0xf0000000 +000002f4 <foo\+0x2f4> 0ff00fff .word 0x0ff00fff +000002f8 <foo\+0x2f8> 00000000 .word 0x00000000 +000002fc <foo\+0x2fc> 000fff00 .word 0x000fff00 +00000300 <foo\+0x300> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000304 <foo\+0x304> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000308 <foo\+0x308> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000030c <foo\+0x30c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000310 <foo\+0x310> f2820e30 vmov.i64 d0, #0x0000ff0000000000 +00000314 <foo\+0x314> f282ee30 vmov.i64 d14, #0x0000ff0000000000 +00000318 <foo\+0x318> f2c2ce30 vmov.i64 d28, #0x0000ff0000000000 +0000031c <foo\+0x31c> f2c2fe30 vmov.i64 d31, #0x0000ff0000000000 +00000320 <foo\+0x320> f3850e30 vmov.i64 d0, #0xffff00ff00000000 +00000324 <foo\+0x324> f385ee30 vmov.i64 d14, #0xffff00ff00000000 +00000328 <foo\+0x328> f3c5ce30 vmov.i64 d28, #0xffff00ff00000000 +0000032c <foo\+0x32c> f3c5fe30 vmov.i64 d31, #0xffff00ff00000000 +00000330 <foo\+0x330> 0d9f0b02 vldreq d0, \[pc, #8\] ; 00000340 <foo\+0x340> +00000334 <foo\+0x334> 0d9feb01 vldreq d14, \[pc, #4\] ; 00000340 <foo\+0x340> +00000338 <foo\+0x338> 0ddfcb00 vldreq d28, \[pc\] ; 00000340 <foo\+0x340> +0000033c <foo\+0x33c> 0d5ffb01 vldreq d31, \[pc, #-4\] ; 00000340 <foo\+0x340> +00000340 <foo\+0x340> 00000000 .word 0x00000000 +00000344 <foo\+0x344> 000fff00 .word 0x000fff00 +00000348 <foo\+0x348> f2800e30 vmov.i64 d0, #0x0000000000000000 +0000034c <foo\+0x34c> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000350 <foo\+0x350> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +00000354 <foo\+0x354> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000358 <foo\+0x358> f2810e30 vmov.i64 d0, #0x000000ff00000000 +0000035c <foo\+0x35c> f281ee30 vmov.i64 d14, #0x000000ff00000000 +00000360 <foo\+0x360> f2c1ce30 vmov.i64 d28, #0x000000ff00000000 +00000364 <foo\+0x364> f2c1fe30 vmov.i64 d31, #0x000000ff00000000 +00000368 <foo\+0x368> f3860e30 vmov.i64 d0, #0xffffff0000000000 +0000036c <foo\+0x36c> f386ee30 vmov.i64 d14, #0xffffff0000000000 +00000370 <foo\+0x370> f3c6ce30 vmov.i64 d28, #0xffffff0000000000 +00000374 <foo\+0x374> f3c6fe30 vmov.i64 d31, #0xffffff0000000000 +00000378 <foo\+0x378> 4d9f0b02 vldrmi d0, \[pc, #8\] ; 00000388 <foo\+0x388> +0000037c <foo\+0x37c> 4d9feb01 vldrmi d14, \[pc, #4\] ; 00000388 <foo\+0x388> +00000380 <foo\+0x380> 4ddfcb00 vldrmi d28, \[pc\] ; 00000388 <foo\+0x388> +00000384 <foo\+0x384> 4d5ffb01 vldrmi d31, \[pc, #-4\] ; 00000388 <foo\+0x388> +00000388 <foo\+0x388> 00000000 .word 0x00000000 +0000038c <foo\+0x38c> 0000fff0 .word 0x0000fff0 +00000390 <foo\+0x390> ed9f1b00 vldr d1, \[pc\] ; 00000398 <foo\+0x398> + \.\.\. +0000039c <foo\+0x39c> 0000fff0 .word 0x0000fff0 +000003a0 <foo\+0x3a0> e2810000 add r0, r1, #0 +000003a4 <foo\+0x3a4> ed1f1b01 vldr d1, \[pc, #-4\] ; 000003a8 <foo\+0x3a8> +000003a8 <foo\+0x3a8> 00000000 .word 0x00000000 +000003ac <foo\+0x3ac> 0000fff0 .word 0x0000fff0 +000003b0 <foo\+0x3b0> ed9f1b10 vldr d1, \[pc, #64\] ; 000003f8 <foo\+0x3f8> +000003b4 <foo\+0x3b4> ed9f1a11 vldr s2, \[pc, #68\] ; 00000400 <foo\+0x400> +000003b8 <foo\+0x3b8> ed9f3b12 vldr d3, \[pc, #72\] ; 00000408 <foo\+0x408> +000003bc <foo\+0x3bc> ed9f2a10 vldr s4, \[pc, #64\] ; 00000404 <foo\+0x404> +000003c0 <foo\+0x3c0> ed9f5b10 vldr d5, \[pc, #64\] ; 00000408 <foo\+0x408> +000003c4 <foo\+0x3c4> ed9f6b11 vldr d6, \[pc, #68\] ; 00000410 <foo\+0x410> +000003c8 <foo\+0x3c8> ed9f7b12 vldr d7, \[pc, #72\] ; 00000418 <foo\+0x418> +000003cc <foo\+0x3cc> ed9f4a13 vldr s8, \[pc, #76\] ; 00000420 <foo\+0x420> +000003d0 <foo\+0x3d0> ed9f9b14 vldr d9, \[pc, #80\] ; 00000428 <foo\+0x428> +000003d4 <foo\+0x3d4> ed9f5a12 vldr s10, \[pc, #72\] ; 00000424 <foo\+0x424> +000003d8 <foo\+0x3d8> ed9fbb14 vldr d11, \[pc, #80\] ; 00000430 <foo\+0x430> +000003dc <foo\+0x3dc> ed9f6a15 vldr s12, \[pc, #84\] ; 00000438 <foo\+0x438> +000003e0 <foo\+0x3e0> eddf6a15 vldr s13, \[pc, #84\] ; 0000043c <foo\+0x43c> +000003e4 <foo\+0x3e4> ed9f7a06 vldr s14, \[pc, #24\] ; 00000404 <foo\+0x404> +000003e8 <foo\+0x3e8> eddf7a03 vldr s15, \[pc, #12\] ; 000003fc <foo\+0x3fc> +000003ec <foo\+0x3ec> eddf0b11 vldr d16, \[pc, #68\] ; 00000438 <foo\+0x438> +000003f0 <foo\+0x3f0> eddf1b12 vldr d17, \[pc, #72\] ; 00000440 <foo\+0x440> + \.\.\. +000003fc <foo\+0x3fc> 0000fff0 .word 0x0000fff0 +00000400 <foo\+0x400> ff000000 .word 0xff000000 +00000404 <foo\+0x404> ff000001 .word 0xff000001 +00000408 <foo\+0x408> 00000001 .word 0x00000001 +0000040c <foo\+0x40c> 0000fff0 .word 0x0000fff0 +00000410 <foo\+0x410> 00000002 .word 0x00000002 +00000414 <foo\+0x414> 0000fff0 .word 0x0000fff0 +00000418 <foo\+0x418> 00000003 .word 0x00000003 +0000041c <foo\+0x41c> 0000fff0 .word 0x0000fff0 +00000420 <foo\+0x420> ff000002 .word 0xff000002 +00000424 <foo\+0x424> ff000003 .word 0xff000003 +00000428 <foo\+0x428> 00000004 .word 0x00000004 +0000042c <foo\+0x42c> 0000fff0 .word 0x0000fff0 +00000430 <foo\+0x430> 00000005 .word 0x00000005 +00000434 <foo\+0x434> 0000fff0 .word 0x0000fff0 +00000438 <foo\+0x438> ff000004 .word 0xff000004 +0000043c <foo\+0x43c> ff000005 .word 0xff000005 +00000440 <foo\+0x440> 0000fff0 .word 0x0000fff0 +00000444 <foo\+0x444> ff000004 .word 0xff000004 diff --git a/binutils-2.25/gas/testsuite/gas/arm/vldconst.s b/binutils-2.25/gas/testsuite/gas/arm/vldconst.s new file mode 100644 index 00000000..8bb6ee40 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vldconst.s @@ -0,0 +1,146 @@ +@ Test file for ARM/GAS -- vldr reg, =... expressions. +.fpu neon +.text +.align +foo: + # test both low and high index of the + # Advanced SIMD and Floating-point reg. + .macro vlxr regtype const + .irp regindex, 0, 14, 28, 31 + vldr \regtype\regindex, \const + .endr + .endm + + .macro vlxreq regtype const + .irp regindex, 0, 14, 28, 31 + vldreq \regtype\regindex, \const + .endr + .endm + + .macro vlxrmi regtype const + .irp regindex, 0, 14, 28, 31 + vldrmi \regtype\regindex, \const + .endr + .endm + + vlxr s "=0" + vlxr s "=0xff000000" + vlxr s "=-1" + vlxr s "=0x0fff0000" + .pool + + vlxr s "=0" + vlxr s "=0x00ff0000" + vlxr s "=0xff00ffff" + vlxr s "=0x00fff000" + .pool + + vlxreq s "=0" + vlxreq s "=0x0000ff00" + vlxreq s "=0xffff00ff" + vlxreq s "=0x000fff00" + .pool + + vlxrmi s "=0" + vlxrmi s "=0x000000ff" + vlxrmi s "=0xffffff00" + vlxrmi s "=0x0000fff0" + .pool + + vlxr d "=0" + vlxr d "=0xca000000" + vlxr d "=-1" + vlxr d "=0x0fff0000" + .pool + + vlxr d "=0" + vlxr d "=0x00ff0000" + vlxr d "=0xff0000ff" + vlxr d "=0x00fff000" + .pool + + vlxreq d "=0" + vlxreq d "=0x0000ff00" + vlxreq d "=0xffff00ff" + vlxreq d "=0x000fff00" + .pool + + vlxrmi d "=0" + vlxrmi d "=0x000000ff" + vlxrmi d "=0xffffff00" + vlxrmi d "=0x0000ffff" + .pool + + vlxr d "=0" + vlxr d "=0xff00000000000000" + vlxr d "=-1" + vlxr d "=0x0fff000000000000" + .pool + + vlxr d "=0" + vlxr d "=0x00ff00000000000" + vlxr d "=0xff00ffff0000000" + vlxr d "=0x00fff0000000000" + .pool + + vlxreq d "=0" + vlxreq d "=0x0000ff0000000000" + vlxreq d "=0xffff00ff00000000" + vlxreq d "=0x000fff0000000000" + .pool + + vlxrmi d "=0" + vlxrmi d "=0x000000ff00000000" + vlxrmi d "=0xffffff0000000000" + vlxrmi d "=0x0000fff000000000" + .pool + + # pool should be aligned to 8-byte. + .p2align 3 + vldr d1, =0x0000fff000000000 + .pool + + # no error when code is align already. + .p2align 3 + add r0, r1, #0 + vldr d1, =0x0000fff000000000 + .pool + + .p2align 3 + vldr d1, =0x0000fff000000000 + vldr s2, =0xff000000 + # padding A + vldr d3, =0x0000fff000000001 + # reuse padding slot A + vldr s4, =0xff000001 + # reuse d3 + vldr d5, =0x0000fff000000001 + # new 8-byte entry + vldr d6, =0x0000fff000000002 + # new 8-byte entry + vldr d7, =0x0000fff000000003 + # new 4-byte entry + vldr s8, =0xff000002 + # padding B + vldr d9, =0x0000fff000000004 + # reuse padding slot B + vldr s10, =0xff000003 + # new 8-byte entry + vldr d11, =0x0000fff000000005 + # new 4 entry + vldr s12, =0xff000004 + # new 4 entry + vldr s13, =0xff000005 + # reuse value of s4 in pool + vldr s14, =0xff000001 + # reuse high part of d1 in pool + vldr s15, =0x0000fff0 + # 8-byte entry reuse two 4-byte entries. + # this reuse should only happen for + # little-endian + # d16 reuse s12, s13 + vldr d16, =0xff000005ff000004 + # d17 should not reuse high part of d11 and s12. + # because the it's align 8-byte aligned. + vldr d17, =0xff0000040000fff0 + .pool diff --git a/binutils-2.25/gas/testsuite/gas/arm/vldconst_be.d b/binutils-2.25/gas/testsuite/gas/arm/vldconst_be.d new file mode 100644 index 00000000..cf3dbf92 --- /dev/null +++ b/binutils-2.25/gas/testsuite/gas/arm/vldconst_be.d @@ -0,0 +1,285 @@ +#objdump: -dr --prefix-addresses --show-raw-insn +#name: ARM vldr with immediate constant (Big Endian) +#as: -mcpu=arm7m -mbig-endian +#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd +#source: vldconst.s + +.*: +file format .*arm.* + +Disassembly of section .text: +00000000 <foo> ed9f0a0e vldr s0, \[pc, #56\] ; 00000040 <foo\+0x40> +00000004 <foo\+0x4> ed9f7a0d vldr s14, \[pc, #52\] ; 00000040 <foo\+0x40> +00000008 <foo\+0x8> ed9fea0c vldr s28, \[pc, #48\] ; 00000040 <foo\+0x40> +0000000c <foo\+0xc> eddffa0b vldr s31, \[pc, #44\] ; 00000040 <foo\+0x40> +00000010 <foo\+0x10> ed9f0a0b vldr s0, \[pc, #44\] ; 00000044 <foo\+0x44> +00000014 <foo\+0x14> ed9f7a0a vldr s14, \[pc, #40\] ; 00000044 <foo\+0x44> +00000018 <foo\+0x18> ed9fea09 vldr s28, \[pc, #36\] ; 00000044 <foo\+0x44> +0000001c <foo\+0x1c> eddffa08 vldr s31, \[pc, #32\] ; 00000044 <foo\+0x44> +00000020 <foo\+0x20> ed9f0a08 vldr s0, \[pc, #32\] ; 00000048 <foo\+0x48> +00000024 <foo\+0x24> ed9f7a07 vldr s14, \[pc, #28\] ; 00000048 <foo\+0x48> +00000028 <foo\+0x28> ed9fea06 vldr s28, \[pc, #24\] ; 00000048 <foo\+0x48> +0000002c <foo\+0x2c> eddffa05 vldr s31, \[pc, #20\] ; 00000048 <foo\+0x48> +00000030 <foo\+0x30> ed9f0a05 vldr s0, \[pc, #20\] ; 0000004c <foo\+0x4c> +00000034 <foo\+0x34> ed9f7a04 vldr s14, \[pc, #16\] ; 0000004c <foo\+0x4c> +00000038 <foo\+0x38> ed9fea03 vldr s28, \[pc, #12\] ; 0000004c <foo\+0x4c> +0000003c <foo\+0x3c> eddffa02 vldr s31, \[pc, #8\] ; 0000004c <foo\+0x4c> +00000040 <foo\+0x40> 00000000 .word 0x00000000 +00000044 <foo\+0x44> ff000000 .word 0xff000000 +00000048 <foo\+0x48> ffffffff .word 0xffffffff +0000004c <foo\+0x4c> 0fff0000 .word 0x0fff0000 +00000050 <foo\+0x50> ed9f0a0e vldr s0, \[pc, #56\] ; 00000090 <foo\+0x90> +00000054 <foo\+0x54> ed9f7a0d vldr s14, \[pc, #52\] ; 00000090 <foo\+0x90> +00000058 <foo\+0x58> ed9fea0c vldr s28, \[pc, #48\] ; 00000090 <foo\+0x90> +0000005c <foo\+0x5c> eddffa0b vldr s31, \[pc, #44\] ; 00000090 <foo\+0x90> +00000060 <foo\+0x60> ed9f0a0b vldr s0, \[pc, #44\] ; 00000094 <foo\+0x94> +00000064 <foo\+0x64> ed9f7a0a vldr s14, \[pc, #40\] ; 00000094 <foo\+0x94> +00000068 <foo\+0x68> ed9fea09 vldr s28, \[pc, #36\] ; 00000094 <foo\+0x94> +0000006c <foo\+0x6c> eddffa08 vldr s31, \[pc, #32\] ; 00000094 <foo\+0x94> +00000070 <foo\+0x70> ed9f0a08 vldr s0, \[pc, #32\] ; 00000098 <foo\+0x98> +00000074 <foo\+0x74> ed9f7a07 vldr s14, \[pc, #28\] ; 00000098 <foo\+0x98> +00000078 <foo\+0x78> ed9fea06 vldr s28, \[pc, #24\] ; 00000098 <foo\+0x98> +0000007c <foo\+0x7c> eddffa05 vldr s31, \[pc, #20\] ; 00000098 <foo\+0x98> +00000080 <foo\+0x80> ed9f0a05 vldr s0, \[pc, #20\] ; 0000009c <foo\+0x9c> +00000084 <foo\+0x84> ed9f7a04 vldr s14, \[pc, #16\] ; 0000009c <foo\+0x9c> +00000088 <foo\+0x88> ed9fea03 vldr s28, \[pc, #12\] ; 0000009c <foo\+0x9c> +0000008c <foo\+0x8c> eddffa02 vldr s31, \[pc, #8\] ; 0000009c <foo\+0x9c> +00000090 <foo\+0x90> 00000000 .word 0x00000000 +00000094 <foo\+0x94> 00ff0000 .word 0x00ff0000 +00000098 <foo\+0x98> ff00ffff .word 0xff00ffff +0000009c <foo\+0x9c> 00fff000 .word 0x00fff000 +000000a0 <foo\+0xa0> 0d9f0a0e vldreq s0, \[pc, #56\] ; 000000e0 <foo\+0xe0> +000000a4 <foo\+0xa4> 0d9f7a0d vldreq s14, \[pc, #52\] ; 000000e0 <foo\+0xe0> +000000a8 <foo\+0xa8> 0d9fea0c vldreq s28, \[pc, #48\] ; 000000e0 <foo\+0xe0> +000000ac <foo\+0xac> 0ddffa0b vldreq s31, \[pc, #44\] ; 000000e0 <foo\+0xe0> +000000b0 <foo\+0xb0> 0d9f0a0b vldreq s0, \[pc, #44\] ; 000000e4 <foo\+0xe4> +000000b4 <foo\+0xb4> 0d9f7a0a vldreq s14, \[pc, #40\] ; 000000e4 <foo\+0xe4> +000000b8 <foo\+0xb8> 0d9fea09 vldreq s28, \[pc, #36\] ; 000000e4 <foo\+0xe4> +000000bc <foo\+0xbc> 0ddffa08 vldreq s31, \[pc, #32\] ; 000000e4 <foo\+0xe4> +000000c0 <foo\+0xc0> 0d9f0a08 vldreq s0, \[pc, #32\] ; 000000e8 <foo\+0xe8> +000000c4 <foo\+0xc4> 0d9f7a07 vldreq s14, \[pc, #28\] ; 000000e8 <foo\+0xe8> +000000c8 <foo\+0xc8> 0d9fea06 vldreq s28, \[pc, #24\] ; 000000e8 <foo\+0xe8> +000000cc <foo\+0xcc> 0ddffa05 vldreq s31, \[pc, #20\] ; 000000e8 <foo\+0xe8> +000000d0 <foo\+0xd0> 0d9f0a05 vldreq s0, \[pc, #20\] ; 000000ec <foo\+0xec> +000000d4 <foo\+0xd4> 0d9f7a04 vldreq s14, \[pc, #16\] ; 000000ec <foo\+0xec> +000000d8 <foo\+0xd8> 0d9fea03 vldreq s28, \[pc, #12\] ; 000000ec <foo\+0xec> +000000dc <foo\+0xdc> 0ddffa02 vldreq s31, \[pc, #8\] ; 000000ec <foo\+0xec> +000000e0 <foo\+0xe0> 00000000 .word 0x00000000 +000000e4 <foo\+0xe4> 0000ff00 .word 0x0000ff00 +000000e8 <foo\+0xe8> ffff00ff .word 0xffff00ff +000000ec <foo\+0xec> 000fff00 .word 0x000fff00 +000000f0 <foo\+0xf0> 4d9f0a0e vldrmi s0, \[pc, #56\] ; 00000130 <foo\+0x130> +000000f4 <foo\+0xf4> 4d9f7a0d vldrmi s14, \[pc, #52\] ; 00000130 <foo\+0x130> +000000f8 <foo\+0xf8> 4d9fea0c vldrmi s28, \[pc, #48\] ; 00000130 <foo\+0x130> +000000fc <foo\+0xfc> 4ddffa0b vldrmi s31, \[pc, #44\] ; 00000130 <foo\+0x130> +00000100 <foo\+0x100> 4d9f0a0b vldrmi s0, \[pc, #44\] ; 00000134 <foo\+0x134> +00000104 <foo\+0x104> 4d9f7a0a vldrmi s14, \[pc, #40\] ; 00000134 <foo\+0x134> +00000108 <foo\+0x108> 4d9fea09 vldrmi s28, \[pc, #36\] ; 00000134 <foo\+0x134> +0000010c <foo\+0x10c> 4ddffa08 vldrmi s31, \[pc, #32\] ; 00000134 <foo\+0x134> +00000110 <foo\+0x110> 4d9f0a08 vldrmi s0, \[pc, #32\] ; 00000138 <foo\+0x138> +00000114 <foo\+0x114> 4d9f7a07 vldrmi s14, \[pc, #28\] ; 00000138 <foo\+0x138> +00000118 <foo\+0x118> 4d9fea06 vldrmi s28, \[pc, #24\] ; 00000138 <foo\+0x138> +0000011c <foo\+0x11c> 4ddffa05 vldrmi s31, \[pc, #20\] ; 00000138 <foo\+0x138> +00000120 <foo\+0x120> 4d9f0a05 vldrmi s0, \[pc, #20\] ; 0000013c <foo\+0x13c> +00000124 <foo\+0x124> 4d9f7a04 vldrmi s14, \[pc, #16\] ; 0000013c <foo\+0x13c> +00000128 <foo\+0x128> 4d9fea03 vldrmi s28, \[pc, #12\] ; 0000013c <foo\+0x13c> +0000012c <foo\+0x12c> 4ddffa02 vldrmi s31, \[pc, #8\] ; 0000013c <foo\+0x13c> +00000130 <foo\+0x130> 00000000 .word 0x00000000 +00000134 <foo\+0x134> 000000ff .word 0x000000ff +00000138 <foo\+0x138> ffffff00 .word 0xffffff00 +0000013c <foo\+0x13c> 0000fff0 .word 0x0000fff0 +00000140 <foo\+0x140> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000144 <foo\+0x144> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000148 <foo\+0x148> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000014c <foo\+0x14c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000150 <foo\+0x150> ed9f0b0a vldr d0, \[pc, #40\] ; 00000180 <foo\+0x180> +00000154 <foo\+0x154> ed9feb09 vldr d14, \[pc, #36\] ; 00000180 <foo\+0x180> +00000158 <foo\+0x158> eddfcb08 vldr d28, \[pc, #32\] ; 00000180 <foo\+0x180> +0000015c <foo\+0x15c> eddffb07 vldr d31, \[pc, #28\] ; 00000180 <foo\+0x180> +00000160 <foo\+0x160> f3870e3f vmov.i64 d0, #0xffffffffffffffff +00000164 <foo\+0x164> f387ee3f vmov.i64 d14, #0xffffffffffffffff +00000168 <foo\+0x168> f3c7ce3f vmov.i64 d28, #0xffffffffffffffff +0000016c <foo\+0x16c> f3c7fe3f vmov.i64 d31, #0xffffffffffffffff +00000170 <foo\+0x170> ed9f0b04 vldr d0, \[pc, #16\] ; 00000188 <foo\+0x188> +00000174 <foo\+0x174> ed9feb03 vldr d14, \[pc, #12\] ; 00000188 <foo\+0x188> +00000178 <foo\+0x178> eddfcb02 vldr d28, \[pc, #8\] ; 00000188 <foo\+0x188> +0000017c <foo\+0x17c> eddffb01 vldr d31, \[pc, #4\] ; 00000188 <foo\+0x188> +00000180 <foo\+0x180> 00000000 .word 0x00000000 +00000184 <foo\+0x184> ca000000 .word 0xca000000 +00000188 <foo\+0x188> 00000000 .word 0x00000000 +0000018c <foo\+0x18c> 0fff0000 .word 0x0fff0000 +00000190 <foo\+0x190> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000194 <foo\+0x194> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000198 <foo\+0x198> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000019c <foo\+0x19c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000001a0 <foo\+0x1a0> f2800e34 vmov.i64 d0, #0x0000000000ff0000 +000001a4 <foo\+0x1a4> f280ee34 vmov.i64 d14, #0x0000000000ff0000 +000001a8 <foo\+0x1a8> f2c0ce34 vmov.i64 d28, #0x0000000000ff0000 +000001ac <foo\+0x1ac> f2c0fe34 vmov.i64 d31, #0x0000000000ff0000 +000001b0 <foo\+0x1b0> f2800e39 vmov.i64 d0, #0x00000000ff0000ff +000001b4 <foo\+0x1b4> f280ee39 vmov.i64 d14, #0x00000000ff0000ff +000001b8 <foo\+0x1b8> f2c0ce39 vmov.i64 d28, #0x00000000ff0000ff +000001bc <foo\+0x1bc> f2c0fe39 vmov.i64 d31, #0x00000000ff0000ff +000001c0 <foo\+0x1c0> ed9f0b02 vldr d0, \[pc, #8\] ; 000001d0 <foo\+0x1d0> +000001c4 <foo\+0x1c4> ed9feb01 vldr d14, \[pc, #4\] ; 000001d0 <foo\+0x1d0> +000001c8 <foo\+0x1c8> eddfcb00 vldr d28, \[pc\] ; 000001d0 <foo\+0x1d0> +000001cc <foo\+0x1cc> ed5ffb01 vldr d31, \[pc, #-4\] ; 000001d0 <foo\+0x1d0> +000001d0 <foo\+0x1d0> 00000000 .word 0x00000000 +000001d4 <foo\+0x1d4> 00fff000 .word 0x00fff000 +000001d8 <foo\+0x1d8> f2800e30 vmov.i64 d0, #0x0000000000000000 +000001dc <foo\+0x1dc> f280ee30 vmov.i64 d14, #0x0000000000000000 +000001e0 <foo\+0x1e0> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +000001e4 <foo\+0x1e4> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000001e8 <foo\+0x1e8> f2800e32 vmov.i64 d0, #0x000000000000ff00 +000001ec <foo\+0x1ec> f280ee32 vmov.i64 d14, #0x000000000000ff00 +000001f0 <foo\+0x1f0> f2c0ce32 vmov.i64 d28, #0x000000000000ff00 +000001f4 <foo\+0x1f4> f2c0fe32 vmov.i64 d31, #0x000000000000ff00 +000001f8 <foo\+0x1f8> f2800e3d vmov.i64 d0, #0x00000000ffff00ff +000001fc <foo\+0x1fc> f280ee3d vmov.i64 d14, #0x00000000ffff00ff +00000200 <foo\+0x200> f2c0ce3d vmov.i64 d28, #0x00000000ffff00ff +00000204 <foo\+0x204> f2c0fe3d vmov.i64 d31, #0x00000000ffff00ff +00000208 <foo\+0x208> 0d9f0b02 vldreq d0, \[pc, #8\] ; 00000218 <foo\+0x218> +0000020c <foo\+0x20c> 0d9feb01 vldreq d14, \[pc, #4\] ; 00000218 <foo\+0x218> +00000210 <foo\+0x210> 0ddfcb00 vldreq d28, \[pc\] ; 00000218 <foo\+0x218> +00000214 <foo\+0x214> 0d5ffb01 vldreq d31, \[pc, #-4\] ; 00000218 <foo\+0x218> +00000218 <foo\+0x218> 00000000 .word 0x00000000 +0000021c <foo\+0x21c> 000fff00 .word 0x000fff00 +00000220 <foo\+0x220> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000224 <foo\+0x224> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000228 <foo\+0x228> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000022c <foo\+0x22c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000230 <foo\+0x230> f2800e31 vmov.i64 d0, #0x00000000000000ff +00000234 <foo\+0x234> f280ee31 vmov.i64 d14, #0x00000000000000ff +00000238 <foo\+0x238> f2c0ce31 vmov.i64 d28, #0x00000000000000ff +0000023c <foo\+0x23c> f2c0fe31 vmov.i64 d31, #0x00000000000000ff +00000240 <foo\+0x240> f2800e3e vmov.i64 d0, #0x00000000ffffff00 +00000244 <foo\+0x244> f280ee3e vmov.i64 d14, #0x00000000ffffff00 +00000248 <foo\+0x248> f2c0ce3e vmov.i64 d28, #0x00000000ffffff00 +0000024c <foo\+0x24c> f2c0fe3e vmov.i64 d31, #0x00000000ffffff00 +00000250 <foo\+0x250> f2800e33 vmov.i64 d0, #0x000000000000ffff +00000254 <foo\+0x254> f280ee33 vmov.i64 d14, #0x000000000000ffff +00000258 <foo\+0x258> f2c0ce33 vmov.i64 d28, #0x000000000000ffff +0000025c <foo\+0x25c> f2c0fe33 vmov.i64 d31, #0x000000000000ffff +00000260 <foo\+0x260> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000264 <foo\+0x264> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000268 <foo\+0x268> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000026c <foo\+0x26c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000270 <foo\+0x270> f3800e30 vmov.i64 d0, #0xff00000000000000 +00000274 <foo\+0x274> f380ee30 vmov.i64 d14, #0xff00000000000000 +00000278 <foo\+0x278> f3c0ce30 vmov.i64 d28, #0xff00000000000000 +0000027c <foo\+0x27c> f3c0fe30 vmov.i64 d31, #0xff00000000000000 +00000280 <foo\+0x280> f3870e3f vmov.i64 d0, #0xffffffffffffffff +00000284 <foo\+0x284> f387ee3f vmov.i64 d14, #0xffffffffffffffff +00000288 <foo\+0x288> f3c7ce3f vmov.i64 d28, #0xffffffffffffffff +0000028c <foo\+0x28c> f3c7fe3f vmov.i64 d31, #0xffffffffffffffff +00000290 <foo\+0x290> ed9f0b02 vldr d0, \[pc, #8\] ; 000002a0 <foo\+0x2a0> +00000294 <foo\+0x294> ed9feb01 vldr d14, \[pc, #4\] ; 000002a0 <foo\+0x2a0> +00000298 <foo\+0x298> eddfcb00 vldr d28, \[pc\] ; 000002a0 <foo\+0x2a0> +0000029c <foo\+0x29c> ed5ffb01 vldr d31, \[pc, #-4\] ; 000002a0 <foo\+0x2a0> +000002a0 <foo\+0x2a0> 0fff0000 .word 0x0fff0000 +000002a4 <foo\+0x2a4> 00000000 .word 0x00000000 +000002a8 <foo\+0x2a8> f2800e30 vmov.i64 d0, #0x0000000000000000 +000002ac <foo\+0x2ac> f280ee30 vmov.i64 d14, #0x0000000000000000 +000002b0 <foo\+0x2b0> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +000002b4 <foo\+0x2b4> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +000002b8 <foo\+0x2b8> ed9f0b0a vldr d0, \[pc, #40\] ; 000002e8 <foo\+0x2e8> +000002bc <foo\+0x2bc> ed9feb09 vldr d14, \[pc, #36\] ; 000002e8 <foo\+0x2e8> +000002c0 <foo\+0x2c0> eddfcb08 vldr d28, \[pc, #32\] ; 000002e8 <foo\+0x2e8> +000002c4 <foo\+0x2c4> eddffb07 vldr d31, \[pc, #28\] ; 000002e8 <foo\+0x2e8> +000002c8 <foo\+0x2c8> ed9f0b08 vldr d0, \[pc, #32\] ; 000002f0 <foo\+0x2f0> +000002cc <foo\+0x2cc> ed9feb07 vldr d14, \[pc, #28\] ; 000002f0 <foo\+0x2f0> +000002d0 <foo\+0x2d0> eddfcb06 vldr d28, \[pc, #24\] ; 000002f0 <foo\+0x2f0> +000002d4 <foo\+0x2d4> eddffb05 vldr d31, \[pc, #20\] ; 000002f0 <foo\+0x2f0> +000002d8 <foo\+0x2d8> ed9f0b06 vldr d0, \[pc, #24\] ; 000002f8 <foo\+0x2f8> +000002dc <foo\+0x2dc> ed9feb05 vldr d14, \[pc, #20\] ; 000002f8 <foo\+0x2f8> +000002e0 <foo\+0x2e0> eddfcb04 vldr d28, \[pc, #16\] ; 000002f8 <foo\+0x2f8> +000002e4 <foo\+0x2e4> eddffb03 vldr d31, \[pc, #12\] ; 000002f8 <foo\+0x2f8> +000002e8 <foo\+0x2e8> 000ff000 .word 0x000ff000 +000002ec <foo\+0x2ec> 00000000 .word 0x00000000 +000002f0 <foo\+0x2f0> 0ff00fff .word 0x0ff00fff +000002f4 <foo\+0x2f4> f0000000 .word 0xf0000000 +000002f8 <foo\+0x2f8> 000fff00 .word 0x000fff00 +000002fc <foo\+0x2fc> 00000000 .word 0x00000000 +00000300 <foo\+0x300> f2800e30 vmov.i64 d0, #0x0000000000000000 +00000304 <foo\+0x304> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000308 <foo\+0x308> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +0000030c <foo\+0x30c> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000310 <foo\+0x310> f2820e30 vmov.i64 d0, #0x0000ff0000000000 +00000314 <foo\+0x314> f282ee30 vmov.i64 d14, #0x0000ff0000000000 +00000318 <foo\+0x318> f2c2ce30 vmov.i64 d28, #0x0000ff0000000000 +0000031c <foo\+0x31c> f2c2fe30 vmov.i64 d31, #0x0000ff0000000000 +00000320 <foo\+0x320> f3850e30 vmov.i64 d0, #0xffff00ff00000000 +00000324 <foo\+0x324> f385ee30 vmov.i64 d14, #0xffff00ff00000000 +00000328 <foo\+0x328> f3c5ce30 vmov.i64 d28, #0xffff00ff00000000 +0000032c <foo\+0x32c> f3c5fe30 vmov.i64 d31, #0xffff00ff00000000 +00000330 <foo\+0x330> 0d9f0b02 vldreq d0, \[pc, #8\] ; 00000340 <foo\+0x340> +00000334 <foo\+0x334> 0d9feb01 vldreq d14, \[pc, #4\] ; 00000340 <foo\+0x340> +00000338 <foo\+0x338> 0ddfcb00 vldreq d28, \[pc\] ; 00000340 <foo\+0x340> +0000033c <foo\+0x33c> 0d5ffb01 vldreq d31, \[pc, #-4\] ; 00000340 <foo\+0x340> +00000340 <foo\+0x340> 000fff00 .word 0x000fff00 +00000344 <foo\+0x344> 00000000 .word 0x00000000 +00000348 <foo\+0x348> f2800e30 vmov.i64 d0, #0x0000000000000000 +0000034c <foo\+0x34c> f280ee30 vmov.i64 d14, #0x0000000000000000 +00000350 <foo\+0x350> f2c0ce30 vmov.i64 d28, #0x0000000000000000 +00000354 <foo\+0x354> f2c0fe30 vmov.i64 d31, #0x0000000000000000 +00000358 <foo\+0x358> f2810e30 vmov.i64 d0, #0x000000ff00000000 +0000035c <foo\+0x35c> f281ee30 vmov.i64 d14, #0x000000ff00000000 +00000360 <foo\+0x360> f2c1ce30 vmov.i64 d28, #0x000000ff00000000 +00000364 <foo\+0x364> f2c1fe30 vmov.i64 d31, #0x000000ff00000000 +00000368 <foo\+0x368> f3860e30 vmov.i64 d0, #0xffffff0000000000 +0000036c <foo\+0x36c> f386ee30 vmov.i64 d14, #0xffffff0000000000 +00000370 <foo\+0x370> f3c6ce30 vmov.i64 d28, #0xffffff0000000000 +00000374 <foo\+0x374> f3c6fe30 vmov.i64 d31, #0xffffff0000000000 +00000378 <foo\+0x378> 4d9f0b02 vldrmi d0, \[pc, #8\] ; 00000388 <foo\+0x388> +0000037c <foo\+0x37c> 4d9feb01 vldrmi d14, \[pc, #4\] ; 00000388 <foo\+0x388> +00000380 <foo\+0x380> 4ddfcb00 vldrmi d28, \[pc\] ; 00000388 <foo\+0x388> +00000384 <foo\+0x384> 4d5ffb01 vldrmi d31, \[pc, #-4\] ; 00000388 <foo\+0x388> +00000388 <foo\+0x388> 0000fff0 .word 0x0000fff0 +0000038c <foo\+0x38c> 00000000 .word 0x00000000 +00000390 <foo\+0x390> ed9f1b00 vldr d1, \[pc\] ; 00000398 <foo\+0x398> +00000394 <foo\+0x394> 00000000 andeq r0, r0, r0 +00000398 <foo\+0x398> 0000fff0 .word 0x0000fff0 +0000039c <foo\+0x39c> 00000000 .word 0x00000000 +000003a0 <foo\+0x3a0> e2810000 add r0, r1, #0 +000003a4 <foo\+0x3a4> ed1f1b01 vldr d1, \[pc, #-4\] ; 000003a8 <foo\+0x3a8> +000003a8 <foo\+0x3a8> 0000fff0 .word 0x0000fff0 +000003ac <foo\+0x3ac> 00000000 .word 0x00000000 +000003b0 <foo\+0x3b0> ed9f1b10 vldr d1, \[pc, #64\] ; 000003f8 <foo\+0x3f8> +000003b4 <foo\+0x3b4> ed9f1a11 vldr s2, \[pc, #68\] ; 00000400 <foo\+0x400> +000003b8 <foo\+0x3b8> ed9f3b12 vldr d3, \[pc, #72\] ; 00000408 <foo\+0x408> +000003bc <foo\+0x3bc> ed9f2a10 vldr s4, \[pc, #64\] ; 00000404 <foo\+0x404> +000003c0 <foo\+0x3c0> ed9f5b10 vldr d5, \[pc, #64\] ; 00000408 <foo\+0x408> +000003c4 <foo\+0x3c4> ed9f6b11 vldr d6, \[pc, #68\] ; 00000410 <foo\+0x410> +000003c8 <foo\+0x3c8> ed9f7b12 vldr d7, \[pc, #72\] ; 00000418 <foo\+0x418> +000003cc <foo\+0x3cc> ed9f4a13 vldr s8, \[pc, #76\] ; 00000420 <foo\+0x420> +000003d0 <foo\+0x3d0> ed9f9b14 vldr d9, \[pc, #80\] ; 00000428 <foo\+0x428> +000003d4 <foo\+0x3d4> ed9f5a12 vldr s10, \[pc, #72\] ; 00000424 <foo\+0x424> +000003d8 <foo\+0x3d8> ed9fbb14 vldr d11, \[pc, #80\] ; 00000430 <foo\+0x430> +000003dc <foo\+0x3dc> ed9f6a15 vldr s12, \[pc, #84\] ; 00000438 <foo\+0x438> +000003e0 <foo\+0x3e0> eddf6a15 vldr s13, \[pc, #84\] ; 0000043c <foo\+0x43c> +000003e4 <foo\+0x3e4> ed9f7a06 vldr s14, \[pc, #24\] ; 00000404 <foo\+0x404> +000003e8 <foo\+0x3e8> eddf7a02 vldr s15, \[pc, #8\] ; 000003f8 <foo\+0x3f8> +000003ec <foo\+0x3ec> eddf0b13 vldr d16, \[pc, #76\] ; 00000440 <foo\+0x440> +000003f0 <foo\+0x3f0> eddf1b14 vldr d17, \[pc, #80\] ; 00000448 <foo\+0x448> +000003f4 <foo\+0x3f4> 00000000 andeq r0, r0, r0 +000003f8 <foo\+0x3f8> 0000fff0 .word 0x0000fff0 +000003fc <foo\+0x3fc> 00000000 .word 0x00000000 +00000400 <foo\+0x400> ff000000 .word 0xff000000 +00000404 <foo\+0x404> ff000001 .word 0xff000001 +00000408 <foo\+0x408> 0000fff0 .word 0x0000fff0 +0000040c <foo\+0x40c> 00000001 .word 0x00000001 +00000410 <foo\+0x410> 0000fff0 .word 0x0000fff0 +00000414 <foo\+0x414> 00000002 .word 0x00000002 +00000418 <foo\+0x418> 0000fff0 .word 0x0000fff0 +0000041c <foo\+0x41c> 00000003 .word 0x00000003 +00000420 <foo\+0x420> ff000002 .word 0xff000002 +00000424 <foo\+0x424> ff000003 .word 0xff000003 +00000428 <foo\+0x428> 0000fff0 .word 0x0000fff0 +0000042c <foo\+0x42c> 00000004 .word 0x00000004 +00000430 <foo\+0x430> 0000fff0 .word 0x0000fff0 +00000434 <foo\+0x434> 00000005 .word 0x00000005 +00000438 <foo\+0x438> ff000004 .word 0xff000004 +0000043c <foo\+0x43c> ff000005 .word 0xff000005 +00000440 <foo\+0x440> ff000005 .word 0xff000005 +00000444 <foo\+0x444> ff000004 .word 0xff000004 +00000448 <foo\+0x448> ff000004 .word 0xff000004 +0000044c <foo\+0x44c> 0000fff0 .word 0x0000fff0 |