From 185a798e666094d92539574da614ac136655bcd6 Mon Sep 17 00:00:00 2001 From: Jan Beulich Date: Tue, 21 Jul 2020 11:34:40 +0200 Subject: [PATCH 1/1] 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. --- gas/ChangeLog | 11 +++++++++++ gas/testsuite/gas/i386/evex-no-scale-32.d | 2 ++ gas/testsuite/gas/i386/evex-no-scale-32.s | 7 ------- gas/testsuite/gas/i386/evex-no-scale-64.d | 2 ++ .../gas/i386/{evex-no-scale-64.s => evex-no-scale.s} | 9 +++++++++ gas/testsuite/gas/i386/i386.exp | 4 ++-- 6 files changed, 26 insertions(+), 9 deletions(-) delete mode 100644 gas/testsuite/gas/i386/evex-no-scale-32.s rename gas/testsuite/gas/i386/{evex-no-scale-64.s => evex-no-scale.s} (62%) diff --git a/gas/ChangeLog b/gas/ChangeLog index 38cbe1cfeb..ef6fc5a3ed 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 0a2860d32e..77ee15e636 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 e28c73f2a3..0000000000 --- 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 6c9f68faf2..d9f5afaf2f 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.s similarity index 62% rename from gas/testsuite/gas/i386/evex-no-scale-64.s rename to gas/testsuite/gas/i386/evex-no-scale.s index bc3749cc0c..30edaad0e9 100644 --- a/gas/testsuite/gas/i386/evex-no-scale-64.s +++ b/gas/testsuite/gas/i386/evex-no-scale.s @@ -1,9 +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 a91ad79866..0ac9c1f129 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" -- 2.34.1