This is the mail archive of the
binutils@sourceware.org
mailing list for the binutils project.
[GAS][ARM]Adjust tests with recent change to consolidate run_dump_test.
- From: Renlin Li <renlin dot li at arm dot com>
- To: Alan Modra <amodra at gmail dot com>, binutils at sourceware dot org, Nicholas Clifton <nickc at redhat dot com>, Ramana Radhakrishnan <Ramana dot Radhakrishnan at arm dot com>
- Date: Tue, 2 Oct 2018 12:33:54 +0100
- Subject: [GAS][ARM]Adjust tests with recent change to consolidate run_dump_test.
- References: <20180915073330.GX3174@bubble.grove.modra.org>
Hi all,
After recent change to consolidate run_dump_test, the following regressions
on arm target are observed.
arm-*-eabi +FAIL: ARM v1 instructions
arm-*-eabi +FAIL: Accepted v8-a with ARMv8.1 AdvSIMD.
arm-*-eabi +FAIL: bl local instructions for v4t.
arm-*-eabi +FAIL: UDF
Here the patch adjusts those test cases.
Okay to commit?
Renlin
gas/ChangeLog:
2018-10-02 Renlin Li <renlin.li@arm.com>
* testsuite/gas/arm/armv1.d: Adjust expected assembly.
* testsuite/gas/arm/udf.d: Likewise.
* testsuite/gas/arm/armv8-a+rdma-warning.d: Add missing expected
assembly.
* testsuite/gas/arm/bl-local-v4t.d: Remove warning output.
* testsuite/gas/arm/blx-local-thumb.l: Remove.
On 09/15/2018 08:33 AM, Alan Modra wrote:
This merges the three versions of run_dump_test. Improved warning
handling versus the old gas version shows up a number of tests that
need their disassembly updating:
arm-linuxeabi +FAIL: ARM v1 instructions
arm-linuxeabi +FAIL: Accepted v8-a with ARMv8.1 AdvSIMD.
arm-linuxeabi +FAIL: bl local instructions for v4t.
arm-linuxeabi +FAIL: UDF
and some that now fail due to detecting assembly warnings:
h8300-elf +FAIL: binutils-all/strip-13
h8300-elf +FAIL: binutils-all/strip-14
h8300-elf +FAIL: binutils-all/strip-15
I've generally kept the union of all run_dump_test features, except
that the ld target aliases "cfi" and "shared" have disappeared, as has
the binutils substitution of $srcdir as $scrdir/$subdir.
diff --git a/gas/testsuite/gas/arm/armv1.d b/gas/testsuite/gas/arm/armv1.d
index 8b9759b96136d8726b6c4dfa5cbea1db7c712962..bea4c52339a4cbb1b3e43825fd80f994b5e44920 100644
--- a/gas/testsuite/gas/arm/armv1.d
+++ b/gas/testsuite/gas/arm/armv1.d
@@ -30,29 +30,29 @@ Disassembly of section .text:
0+4c <[^>]*> e1d00000 ? bics r0, r0, r0
0+50 <[^>]*> e1100000 ? tst r0, r0
0+54 <[^>]*> e1100000 ? tst r0, r0
-0+58 <[^>]*> e110f000 ? tst r0, r0
+0+58 <[^>]*> e110f000 ? tst r0, r0 ; <UNPREDICTABLE>
0+5c <[^>]*> e1300000 ? teq r0, r0
0+60 <[^>]*> e1300000 ? teq r0, r0
-0+64 <[^>]*> e130f000 ? teq r0, r0
+0+64 <[^>]*> e130f000 ? teq r0, r0 ; <UNPREDICTABLE>
0+68 <[^>]*> e1500000 ? cmp r0, r0
0+6c <[^>]*> e1500000 ? cmp r0, r0
-0+70 <[^>]*> e150f000 ? cmp r0, r0
+0+70 <[^>]*> e150f000 ? cmp r0, r0 ; <UNPREDICTABLE>
0+74 <[^>]*> e1700000 ? cmn r0, r0
0+78 <[^>]*> e1700000 ? cmn r0, r0
-0+7c <[^>]*> e170f000 ? cmn r0, r0
-0+80 <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\)
+0+7c <[^>]*> e170f000 ? cmn r0, r0 ; <UNPREDICTABLE>
+0+80 <[^>]*> e1a00000 ? nop[ ]+; \(mov r0, r0\)
0+84 <[^>]*> e1b00000 ? movs r0, r0
0+88 <[^>]*> e1e00000 ? mvn r0, r0
0+8c <[^>]*> e1f00000 ? mvns r0, r0
0+90 <[^>]*> ef000000 ? (swi|svc) 0x00000000
-0+94 <[^>]*> e5900000 ? ldr r0, \[r0\]
-0+98 <[^>]*> e5d00000 ? ldrb r0, \[r0\]
-0+9c <[^>]*> e4b10000 ? ldrt r0, \[r1\]
-0+a0 <[^>]*> e4f10000 ? ldrbt r0, \[r1\]
-0+a4 <[^>]*> e5800000 ? str r0, \[r0\]
-0+a8 <[^>]*> e5c00000 ? strb r0, \[r0\]
-0+ac <[^>]*> e4a10000 ? strt r0, \[r1\]
-0+b0 <[^>]*> e4e10000 ? strbt r0, \[r1\]
+0+94 <[^>]*> e5100000 ? ldr r0, \[r0, \#-0\]
+0+98 <[^>]*> e5500000 ? ldrb r0, \[r0, #-0\]
+0+9c <[^>]*> e4b10000 ? ldrt r0, \[r1\], #0
+0+a0 <[^>]*> e4f10000 ? ldrbt r0, \[r1\], #0
+0+a4 <[^>]*> e5000000 ? str r0, \[r0, #-0\]
+0+a8 <[^>]*> e5400000 ? strb r0, \[r0, #-0\]
+0+ac <[^>]*> e4a10000 ? strt r0, \[r1\], #0
+0+b0 <[^>]*> e4e10000 ? strbt r0, \[r1\], #0
0+b4 <[^>]*> e8800001 ? stm r0, {r0}
0+b8 <[^>]*> e9800001 ? stmib r0, {r0}
0+bc <[^>]*> e8000001 ? stmda r0, {r0}
@@ -69,6 +69,6 @@ Disassembly of section .text:
0+e8 <[^>]*> e8100001 ? ldmda r0, {r0}
0+ec <[^>]*> e9100001 ? ldmdb r0, {r0}
0+f0 <[^>]*> e9900001 ? ldmib r0, {r0}
-0+f4 <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\)
-0+f8 <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\)
-0+fc <[^>]*> e1a00000 ? nop[ ]+\(mov r0,r0\)
+0+f4 <[^>]*> e1a00000 ? nop[ ]+; \(mov r0, r0\)
+0+f8 <[^>]*> e1a00000 ? nop[ ]+; \(mov r0, r0\)
+0+fc <[^>]*> e1a00000 ? nop[ ]+; \(mov r0, r0\)
diff --git a/gas/testsuite/gas/arm/armv8-a+rdma-warning.d b/gas/testsuite/gas/arm/armv8-a+rdma-warning.d
index ee1de5b8a498f363d13c6448ac6af7353ad20885..6eb6757130dac05e4b008353cec94c2607b37f6c 100644
--- a/gas/testsuite/gas/arm/armv8-a+rdma-warning.d
+++ b/gas/testsuite/gas/arm/armv8-a+rdma-warning.d
@@ -4,3 +4,76 @@
#skip: *-*-pe *-*-wince
#source: armv8-a+rdma.s
#warning_output: armv8-a+rdma.l
+
+.*: +file format .*arm.*
+
+
+Disassembly of section .text:
+
+00000000 <.*>:
+ 0: f3110b12 vqrdmlah.s16 d0, d1, d2
+ 4: f3120b54 vqrdmlah.s16 q0, q1, q2
+ 8: f3210b12 vqrdmlah.s32 d0, d1, d2
+ c: f3220b54 vqrdmlah.s32 q0, q1, q2
+ 10: f3110c12 vqrdmlsh.s16 d0, d1, d2
+ 14: f3120c54 vqrdmlsh.s16 q0, q1, q2
+ 18: f3210c12 vqrdmlsh.s32 d0, d1, d2
+ 1c: f3220c54 vqrdmlsh.s32 q0, q1, q2
+ 20: f2910e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ 24: f2910e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ 28: f2910e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ 2c: f2910e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ 30: f3920e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ 34: f3920e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ 38: f3920e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ 3c: f3920e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ 40: f2a10e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ 44: f2a10e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ 48: f3a20e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ 4c: f3a20e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ 50: f2910f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ 54: f2910f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ 58: f2910f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ 5c: f2910f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ 60: f3920f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ 64: f3920f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ 68: f3920f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ 6c: f3920f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ 70: f2a10f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ 74: f2a10f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ 78: f3a20f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ 7c: f3a20f62 vqrdmlsh.s32 q0, q1, d2\[1\]
+
+00000080 <.*>:
+ 80: ff11 0b12 vqrdmlah.s16 d0, d1, d2
+ 84: ff12 0b54 vqrdmlah.s16 q0, q1, q2
+ 88: ff21 0b12 vqrdmlah.s32 d0, d1, d2
+ 8c: ff22 0b54 vqrdmlah.s32 q0, q1, q2
+ 90: ff11 0c12 vqrdmlsh.s16 d0, d1, d2
+ 94: ff12 0c54 vqrdmlsh.s16 q0, q1, q2
+ 98: ff21 0c12 vqrdmlsh.s32 d0, d1, d2
+ 9c: ff22 0c54 vqrdmlsh.s32 q0, q1, q2
+ a0: ef91 0e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ a4: ef91 0e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ a8: ef91 0e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ ac: ef91 0e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ b0: ff92 0e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ b4: ff92 0e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ b8: ff92 0e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ bc: ff92 0e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ c0: efa1 0e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ c4: efa1 0e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ c8: ffa2 0e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ cc: ffa2 0e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ d0: ef91 0f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ d4: ef91 0f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ d8: ef91 0f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ dc: ef91 0f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ e0: ff92 0f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ e4: ff92 0f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ e8: ff92 0f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ ec: ff92 0f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ f0: efa1 0f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ f4: efa1 0f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ f8: ffa2 0f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ fc: ffa2 0f62 vqrdmlsh.s32 q0, q1, d2\[1\]
diff --git a/gas/testsuite/gas/arm/bl-local-v4t.d b/gas/testsuite/gas/arm/bl-local-v4t.d
index 2985ceee906a06111fcbca6a8d081a79405c4e6c..cf68093988d91d99903017ac772d593779ff46d6 100644
--- a/gas/testsuite/gas/arm/bl-local-v4t.d
+++ b/gas/testsuite/gas/arm/bl-local-v4t.d
@@ -2,7 +2,6 @@
#objdump: -drw --prefix-addresses --show-raw-insn
#target: *-*-*eabi* *-*-nacl*
#as:
-#warning_output: blx-local-thumb.l
.*: +file format .*arm.*
Disassembly of section .text:
diff --git a/gas/testsuite/gas/arm/blx-local-thumb.l b/gas/testsuite/gas/arm/blx-local-thumb.l
deleted file mode 100644
index 588674c1a0b7b8816025397d2be3bf7a502c412a..0000000000000000000000000000000000000000
--- a/gas/testsuite/gas/arm/blx-local-thumb.l
+++ /dev/null
@@ -1,2 +0,0 @@
-[^;]*: Assembler messages:
-[^;]*:6: Warning: blx to Thumb func 'foo' from Thumb ISA state changed to bl
\ No newline at end of file
diff --git a/gas/testsuite/gas/arm/udf.d b/gas/testsuite/gas/arm/udf.d
index c8777a9f052e71ad679a27c64cf666afa1dcf38f..4a736ae9c0f02f3ac33486f074c2ae3bd85153ab 100644
--- a/gas/testsuite/gas/arm/udf.d
+++ b/gas/testsuite/gas/arm/udf.d
@@ -1,4 +1,4 @@
-#objdump: -dr --prefix-addresses --show-raw-insn
+#objdump: -dr
#name: UDF
#as: -march=armv8-a
#warning_output: udf.l
@@ -11,11 +11,11 @@ Disassembly of section \.text:
\s*0:\s+e7f000f0\s+udf #0
\s*4:\s+e7fabcfd\s+udf #43981 ; 0xabcd
-0+0 <thumb>:
+0+8 <thumb>:
\s*8:\s+deab\s+udf #171 ; 0xab
\s*a:\s+decd\s+udf #205 ; 0xcd
\s*c:\s+de00\s+udf #0
-\s*e:\s+46c0\s+nop.*
+\s*e:\s+bf00\s+nop.*
\s*10:\s+f7f0 a000\s+udf\.w #0
\s*14:\s+f7f1 a234\s+udf\.w #4660 ; 0x1234
\s*18:\s+f7fc acdd\s+udf\.w #52445 ; 0xccdd