[GAS][ARM]Adjust tests with recent change to consolidate run_dump_test.

Richard Earnshaw (lists) Richard.Earnshaw@arm.com
Tue Oct 2 12:39:00 GMT 2018


On 02/10/18 12:33, Renlin Li wrote:
> 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.

Why has the encoding picked for NOP changed?

R.

>     * 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.
>>
>>
> 
> tmpdiff.patch
> 
> 
> 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
> 



More information about the Binutils mailing list