[PATCH v2] Revert "x86: Replace evex-no-scale.s with evex-no-scale-[32|64].s"
Jan Beulich
jbeulich@suse.com
Mon Jul 20 07:01:16 GMT 2020
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/
2020-07-XX 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.
---
v2: Fold 'x86: revert ELF related part of "x86: Update assembler tests
for non-ELF targets"' into here.
--- 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
--- 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
--- 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\(,%eiz,1\),%zmm0
+[a-f0-9]+: 62 f1 7c 48 28 04 25 40 00 00 00 vmovaps 0x40,%zmm0
+#pass
--- 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
--- /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
--- a/gas/testsuite/gas/i386/i386.exp
+++ b/gas/testsuite/gas/i386/i386.exp
@@ -256,6 +256,7 @@ if [expr ([istarget "i*86-*-*"] || [ist
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-*-*"] || [ist
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-*-*"] || [ista
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-*-*"] || [ista
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"
More information about the Binutils
mailing list