From: Jan Beulich Date: Tue, 21 Jul 2020 09:34:40 +0000 (+0200) Subject: Revert "x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s" X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=185a798e666094d92539574da614ac136655bcd6;p=binutils-gdb.git Revert "x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s" This reverts commit 19449d7c67690c641b1ec9c13ff3531677a5afcc, addressing the issue that was run into back then: There was no relationship to i686-* and/or cross builds on 64-bit hosts. The sole problem was the use of / as as comment character in certain ELF targets. Instead of division, use a comparison operation. At the same time also revert the ELF related part of 99c2d522f7a7 ("x86: Update assembler tests for non-ELF targets") by replacing the construct that's problematic for non-ELF, and by adding the "#pass" patterns to the expected output files to cover for the tail padding generated into COFF output. --- diff --git a/gas/ChangeLog b/gas/ChangeLog index 38cbe1cfeb9..ef6fc5a3ed6 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,14 @@ +2020-07-21 Jan Beulich + + * testsuite/gas/i386/evex-no-scale-32.d, + testsuite/gas/i386/evex-no-scale-64.d: Add #source and #pass. + * testsuite/gas/i386/evex-no-scale-32.s, + testsuite/gas/i386/evex-no-scale-64.s: Rename / fold into ... + * testsuite/gas/i386/evex-no-scale.s: ... this. Use .struct + instead of .section. + * testsuite/gas/i386/i386.exp: Move above tests out of ELF- + specific section. + 2020-07-21 Maciej W. Rozycki * config/tc-mips.c (prev_reloc_op_frag): Remove variable. diff --git a/gas/testsuite/gas/i386/evex-no-scale-32.d b/gas/testsuite/gas/i386/evex-no-scale-32.d index 0a2860d32e3..77ee15e636d 100644 --- a/gas/testsuite/gas/i386/evex-no-scale-32.d +++ b/gas/testsuite/gas/i386/evex-no-scale-32.d @@ -1,3 +1,4 @@ +#source: evex-no-scale.s #objdump: -dw #name: ix86 EVEX no disp scaling @@ -10,3 +11,4 @@ Disassembly of section .text: +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40\(,%eiz,1\),%zmm0 +[a-f0-9]+: 62 f1 7c 48 28 05 40 00 00 00 vmovaps 0x40,%zmm0 +[a-f0-9]+: 67 62 f1 7c 48 28 06 40 00 vmovaps 0x40,%zmm0 +#pass diff --git a/gas/testsuite/gas/i386/evex-no-scale-32.s b/gas/testsuite/gas/i386/evex-no-scale-32.s deleted file mode 100644 index e28c73f2a36..00000000000 --- a/gas/testsuite/gas/i386/evex-no-scale-32.s +++ /dev/null @@ -1,7 +0,0 @@ - .allow_index_reg - .text -disp: - vmovaps 64(,%eax), %zmm0 - vmovaps 64(,%eiz), %zmm0 - vmovaps 64, %zmm0 - addr16 vmovaps 64, %zmm0 diff --git a/gas/testsuite/gas/i386/evex-no-scale-64.d b/gas/testsuite/gas/i386/evex-no-scale-64.d index 6c9f68faf23..d9f5afaf2fe 100644 --- a/gas/testsuite/gas/i386/evex-no-scale-64.d +++ b/gas/testsuite/gas/i386/evex-no-scale-64.d @@ -1,3 +1,4 @@ +#source: evex-no-scale.s #objdump: -dw #name: x86-64 EVEX no disp scaling @@ -12,3 +13,4 @@ Disassembly of section .text: +[a-f0-9]+: 67 62 f1 7c 48 28 04 05 40 00 00 00 vmovaps 0x40\(,%eax,1\),%zmm0 +[a-f0-9]+: 67 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0 +[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0 +#pass diff --git a/gas/testsuite/gas/i386/evex-no-scale-64.s b/gas/testsuite/gas/i386/evex-no-scale-64.s deleted file mode 100644 index bc3749cc0c5..00000000000 --- a/gas/testsuite/gas/i386/evex-no-scale-64.s +++ /dev/null @@ -1,9 +0,0 @@ - .allow_index_reg - .text -disp: - vmovaps -1024(%rip), %zmm0 - vmovaps 64(,%rax), %zmm0 - vmovaps 64(,%riz), %zmm0 - vmovaps 64(,%eax), %zmm0 - vmovaps 64(,%eiz), %zmm0 - vmovaps 64, %zmm0 diff --git a/gas/testsuite/gas/i386/evex-no-scale.s b/gas/testsuite/gas/i386/evex-no-scale.s new file mode 100644 index 00000000000..30edaad0e92 --- /dev/null +++ b/gas/testsuite/gas/i386/evex-no-scale.s @@ -0,0 +1,18 @@ + .allow_index_reg + .struct + inc %eax +.equiv is_64bit, . > 1 + + .text +disp: +.if is_64bit + vmovaps -1024(%rip), %zmm0 + vmovaps 64(,%rax), %zmm0 + vmovaps 64(,%riz), %zmm0 +.endif + vmovaps 64(,%eax), %zmm0 + vmovaps 64(,%eiz), %zmm0 + vmovaps 64, %zmm0 +.if !is_64bit + addr16 vmovaps 64, %zmm0 +.endif diff --git a/gas/testsuite/gas/i386/i386.exp b/gas/testsuite/gas/i386/i386.exp index a91ad798660..0ac9c1f129b 100644 --- a/gas/testsuite/gas/i386/i386.exp +++ b/gas/testsuite/gas/i386/i386.exp @@ -256,6 +256,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "evex-lig-2" run_dump_test "evex-wig1" run_dump_test "evex-wig1-intel" + run_dump_test "evex-no-scale-32" run_dump_test "sse2avx" run_list_test "inval-avx" "-al" run_list_test "inval-avx512f" "-al" @@ -624,7 +625,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_32_check]] run_dump_test "nop-6" run_dump_test "unique" - run_dump_test "evex-no-scale-32" run_dump_test "property-1" run_dump_test "property-2" run_dump_test "property-3" @@ -876,6 +876,7 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-evex-wig1" run_dump_test "x86-64-evex-wig1-intel" run_dump_test "x86-64-evex-wig2" + run_dump_test "evex-no-scale-64" run_dump_test "x86-64-sse2avx" run_list_test "x86-64-inval-avx" "-al" run_list_test "x86-64-inval-avx512f" "-al" @@ -1228,7 +1229,6 @@ if [expr ([istarget "i*86-*-*"] || [istarget "x86_64-*-*"]) && [gas_64_check]] t run_dump_test "x86-64-nop-6" run_dump_test "x86-64-unique" - run_dump_test "evex-no-scale-64" run_dump_test "x86-64-property-1" run_dump_test "x86-64-property-2" run_dump_test "x86-64-property-3"