summaryrefslogtreecommitdiff
path: root/gas/testsuite
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-05-27 08:48:09 +0200
committerJan Beulich <jbeulich@suse.com>2022-05-27 08:48:09 +0200
commitcf665fee1d6c9efa2e59af496cd132393732306d (patch)
tree8467df5482798450a31184c949c0b69d0f729dc7 /gas/testsuite
parent90a00d6c65e7cd015ab133a129819bddf685c2b3 (diff)
x86: re-work AVX512 embedded rounding / SAE
As a preparatory step to allowing proper non-operand forms of specifying embedded rounding / SAE, convert the internal representation to non- operand form. While retaining properties (and in a few cases perhaps providing more meaningful diagnostics), this means doing away with a few hundred standalone templates, thus - as a nice side effect - reducing memory consumption / cache occupancy.
Diffstat (limited to 'gas/testsuite')
-rw-r--r--gas/testsuite/gas/i386/inval-avx512f.l29
-rw-r--r--gas/testsuite/gas/i386/inval-avx512f.s17
2 files changed, 46 insertions, 0 deletions
diff --git a/gas/testsuite/gas/i386/inval-avx512f.l b/gas/testsuite/gas/i386/inval-avx512f.l
index 5401f1aeac..84a13c8da0 100644
--- a/gas/testsuite/gas/i386/inval-avx512f.l
+++ b/gas/testsuite/gas/i386/inval-avx512f.l
@@ -228,6 +228,16 @@
.*:333: Error: .*vaddpd.*
.*:334: Error: .*vaddpd.*
.*:336: Error: .*
+.*:340: Error: .*vaddps.*
+.*:341: Error: .*vaddps.*
+.*:342: Error: .*vaddps.*
+.*:344: Error: .*vcmpps.*
+.*:346: Error: .*vcmpps.*
+.*:347: Error: .*vcmpps.*
+.*:348: Error: .*vcmpps.*
+.*:350: Error: .*vcvtsi2ss.*
+.*:352: Error: .*vcvtsi2ss.*
+.*:353: Error: .*vcvtsi2ss.*
GAS LISTING .*
@@ -600,4 +610,23 @@ GAS LISTING .*
[ ]*335 \?\?\?\? 62F1F558[ ]+vaddpd zmm2, zmm1, QWORD BCST \[eax\]
[ ]*335[ ]+5810
[ ]*336[ ].*vaddpd zmm2, zmm1, ZMMWORD BCST \[eax\]
+#...
+[ ]*339[ ].*vaddps \{rn-sae\}, %zmm0, %zmm0, %zmm0
+[ ]*339[ ]+58C0
+[ ]*340[ ]+vaddps %zmm0, \{rn-sae\}, %zmm0, %zmm0
+[ ]*341[ ]+vaddps %zmm0, %zmm0, \{rn-sae\}, %zmm0
+[ ]*342[ ]+vaddps %zmm0, %zmm0, %zmm0, \{rn-sae\}
+[ ]*343[ ]*
+[ ]*344[ ]+vcmpps \{sae\}, \$0, %zmm0, %zmm0, %k0
+[ ]*345[ ].*vcmpps \$0, \{sae\}, %zmm0, %zmm0, %k0
+[ ]*345[ ]+C2C000
+[ ]*346[ ]+vcmpps \$0, %zmm0, \{sae\}, %zmm0, %k0
+[ ]*347[ ]+vcmpps \$0, %zmm0, %zmm0, \{sae\}, %k0
+[ ]*348[ ]+vcmpps \$0, %zmm0, %zmm0, %k0, \{sae\}
+[ ]*349[ ]*
+[ ]*350[ ]+vcvtsi2ss \{rn-sae\}, %eax, %xmm0, %xmm0
+[ ]*351[ ].*vcvtsi2ss %eax, \{rn-sae\}, %xmm0, %xmm0
+[ ]*351[ ]+2AC0
+[ ]*352[ ]+vcvtsi2ss %eax, %xmm0, \{rn-sae\}, %xmm0
+[ ]*353[ ]+vcvtsi2ss %eax, %xmm0, %xmm0, \{rn-sae\}
#pass
diff --git a/gas/testsuite/gas/i386/inval-avx512f.s b/gas/testsuite/gas/i386/inval-avx512f.s
index d46c8e2d02..5f3aab4b4d 100644
--- a/gas/testsuite/gas/i386/inval-avx512f.s
+++ b/gas/testsuite/gas/i386/inval-avx512f.s
@@ -335,4 +335,21 @@ _start:
vaddpd zmm2, zmm1, QWORD BCST [eax]
vaddpd zmm2, zmm1, ZMMWORD BCST [eax]
+ .att_syntax prefix
+ vaddps {rn-sae}, %zmm0, %zmm0, %zmm0
+ vaddps %zmm0, {rn-sae}, %zmm0, %zmm0
+ vaddps %zmm0, %zmm0, {rn-sae}, %zmm0
+ vaddps %zmm0, %zmm0, %zmm0, {rn-sae}
+
+ vcmpps {sae}, $0, %zmm0, %zmm0, %k0
+ vcmpps $0, {sae}, %zmm0, %zmm0, %k0
+ vcmpps $0, %zmm0, {sae}, %zmm0, %k0
+ vcmpps $0, %zmm0, %zmm0, {sae}, %k0
+ vcmpps $0, %zmm0, %zmm0, %k0, {sae}
+
+ vcvtsi2ss {rn-sae}, %eax, %xmm0, %xmm0
+ vcvtsi2ss %eax, {rn-sae}, %xmm0, %xmm0
+ vcvtsi2ss %eax, %xmm0, {rn-sae}, %xmm0
+ vcvtsi2ss %eax, %xmm0, %xmm0, {rn-sae}
+
.p2align 4