aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2020-07-21 11:34:40 +0200
committerJan Beulich <jbeulich@suse.com>2020-07-21 11:34:40 +0200
commit185a798e666094d92539574da614ac136655bcd6 (patch)
treee66595a7d7462268d80faeb5d807d4fe9638496d
parentf0f9e75a824dcd0053ae4e8f9aaf8056aa1a8bc5 (diff)
downloadgdb-185a798e666094d92539574da614ac136655bcd6.zip
gdb-185a798e666094d92539574da614ac136655bcd6.tar.gz
gdb-185a798e666094d92539574da614ac136655bcd6.tar.bz2
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.
-rw-r--r--gas/ChangeLog11
-rw-r--r--gas/testsuite/gas/i386/evex-no-scale-32.d2
-rw-r--r--gas/testsuite/gas/i386/evex-no-scale-32.s7
-rw-r--r--gas/testsuite/gas/i386/evex-no-scale-64.d2
-rw-r--r--gas/testsuite/gas/i386/evex-no-scale.s (renamed from gas/testsuite/gas/i386/evex-no-scale-64.s)9
-rw-r--r--gas/testsuite/gas/i386/i386.exp4
6 files changed, 26 insertions, 9 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 38cbe1c..ef6fc5a 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -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.
diff --git a/gas/testsuite/gas/i386/evex-no-scale-32.d b/gas/testsuite/gas/i386/evex-no-scale-32.d
index 0a2860d..77ee15e 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 e28c73f..0000000
--- 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 6c9f68fa..d9f5afa 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
index bc3749c..30edaad 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 a91ad79..0ac9c1f 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"