Revert "x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s"
authorJan Beulich <jbeulich@suse.com>
Tue, 21 Jul 2020 09:34:40 +0000 (11:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 21 Jul 2020 09:34:40 +0000 (11:34 +0200)
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
gas/testsuite/gas/i386/evex-no-scale-32.d
gas/testsuite/gas/i386/evex-no-scale-32.s [deleted file]
gas/testsuite/gas/i386/evex-no-scale-64.d
gas/testsuite/gas/i386/evex-no-scale-64.s [deleted file]
gas/testsuite/gas/i386/evex-no-scale.s [new file with mode: 0644]
gas/testsuite/gas/i386/i386.exp

index 38cbe1cfeb926c2342b76219d8f5d7f4c18b4a27..ef6fc5a3ed63a89dada20af66442eed7e5012bf6 100644 (file)
@@ -1,3 +1,14 @@
+2020-07-21  Jan Beulich  <jbeulich@suse.com>
+
+       * 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  <macro@linux-mips.org>
 
        * config/tc-mips.c (prev_reloc_op_frag): Remove variable.
index 0a2860d32e329e99b0bfcdb9b25b75546d025817..77ee15e636dfc287809d734a13143dd3bda7e702 100644 (file)
@@ -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 (file)
index e28c73f..0000000
+++ /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
index 6c9f68faf234af5bd43e8236feb348389f85e98e..d9f5afaf2fee3c00bafa77be7a08546bfc73d25c 100644 (file)
@@ -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 (file)
index bc3749c..0000000
+++ /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 (file)
index 0000000..30edaad
--- /dev/null
@@ -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
index a91ad798660cbb762d606bed66beb9ebc7ccf268..0ac9c1f129b1b2eefd2f9f00fbd0e5346165c8d5 100644 (file)
@@ -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"