[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