x86: drop SSE4a from SSE check again
authorJan Beulich <jbeulich@suse.com>
Tue, 16 Jun 2020 08:34:55 +0000 (10:34 +0200)
committerJan Beulich <jbeulich@suse.com>
Tue, 16 Jun 2020 08:34:55 +0000 (10:34 +0200)
Upon re-consideration in commit 569d50f1c611 ("x86: further refine SSE
check (SSE4a, SHA, GFNI)") I went too far: Mixing of SSE and AVX insns
doesn't suffer as bad a penalty on AMD CPUs as on Intel ones. SSE4a
being an AMD-only extension, it shouldn't be part of the ISA extensions
set for which the diagnostic may get issued. Undo that part.

gas/ChangeLog
gas/config/tc-i386.c
gas/testsuite/gas/i386/sse-check-error.l
gas/testsuite/gas/i386/sse-check-warn.e
gas/testsuite/gas/i386/sse-check.s
gas/testsuite/gas/i386/x86-64-sse-check-error.l

index ef4eb8fec33c7e4306e94bc34376d2f715824927..4c31ecff952f7c99330c9f406d542f7ef36007d7 100644 (file)
@@ -1,3 +1,13 @@
+2020-06-16  Jan Beulich  <jbeulich@suse.com>
+
+       * config/tc-i386.c (md_assemble): Drop SSE4a from SSE check
+       conditional.
+       * testsuite/gas/i386/sse-check.s: Adjust comment.
+       * testsuite/gas/i386/sse-check-error.l,
+       testsuite/gas/i386/sse-check-warn.e,
+       testsuite/gas/i386/x86-64-sse-check-error.l: Adjust
+       expectations.
+
 2020-06-16  Alan Modra  <amodra@gmail.com>
 
        * config/tc-tic30.h: Remove OBJ_AOUT support.
index a5b9061f058e83d17b999eb5bd71671c07eec5f3..b5d7e1cc6d464368e56532cbcfa4e4e91c1f9886 100644 (file)
@@ -4753,7 +4753,6 @@ md_assemble (char *line)
          || i.tm.cpu_flags.bitfield.cpussse3
          || i.tm.cpu_flags.bitfield.cpusse4_1
          || i.tm.cpu_flags.bitfield.cpusse4_2
-         || i.tm.cpu_flags.bitfield.cpusse4a
          || i.tm.cpu_flags.bitfield.cpupclmul
          || i.tm.cpu_flags.bitfield.cpuaes
          || i.tm.cpu_flags.bitfield.cpusha
index 30498b7e39ec079ec74d39972dc966e9a9c99b7e..782e50bc040f4eb581ee69286a9aaa0556901ea4 100644 (file)
@@ -5,7 +5,6 @@
 .*:16: Error: .*
 .*:19: Error: .*
 .*:20: Error: .*
-.*:23: Error: .*
 .*:26: Error: .*
 .*:29: Error: .*
 .*:32: Error: .*
@@ -44,9 +43,8 @@ GAS LISTING .*
 .*  Error: SSE instruction `pcmpgtq' is used
 [      ]*20[   ]+C1
 [      ]*21[   ]+
-[      ]*22[   ]+\# SSE4a instruction
+[      ]*22[   ]+\# SSE4a instruction.*
 [      ]*23[   ]+\?\?\?\? 660F78C0             extrq \$0, \$0, %xmm0
-.*  Error: SSE instruction `extrq' is used
 [      ]*23[   ]+0000
 [      ]*24[   ]+
 [      ]*25[   ]+\# PCMUL instruction
@@ -70,7 +68,7 @@ GAS LISTING .*
 [      ]*36[   ]+\?\?\?\? 62F27D09             vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\}
 [      ]*36[   ]+CFC0
 [      ]*37[   ]+\?\?\?\? 62F27D48             vgf2p8mulb %zmm0, %zmm0, %zmm0
+[      ]*37[   ]+CFC0
 \fGAS LISTING .*
 
 
-[      ]*37[   ]+CFC0
index 33f07b24ebaf83b220a667ad692df455960f1e95..b8dba94a06ca84a81d63456f1b0ebd3ba7728656 100644 (file)
@@ -5,7 +5,6 @@
 .*:16: Warning: SSE instruction `phaddw' is used
 .*:19: Warning: SSE instruction `blendvpd' is used
 .*:20: Warning: SSE instruction `pcmpgtq' is used
-.*:23: Warning: SSE instruction `extrq' is used
 .*:26: Warning: SSE instruction `pclmulqdq' is used
 .*:29: Warning: SSE instruction `aesdec' is used
 .*:32: Warning: SSE instruction `sha1nexte' is used
index a76d1ef9bc4a2113f47dc6c702e02ad83e53c992..43a351495a16ed2498b5fdc8c627211f5306f1a5 100644 (file)
@@ -19,7 +19,7 @@ _start:
        blendvpd %xmm0,%xmm1,%xmm0
        pcmpgtq %xmm1,%xmm0
 
-# SSE4a instruction
+# SSE4a instruction (no diagnostic)
        extrq $0, $0, %xmm0
 
 # PCMUL instruction
index 30498b7e39ec079ec74d39972dc966e9a9c99b7e..782e50bc040f4eb581ee69286a9aaa0556901ea4 100644 (file)
@@ -5,7 +5,6 @@
 .*:16: Error: .*
 .*:19: Error: .*
 .*:20: Error: .*
-.*:23: Error: .*
 .*:26: Error: .*
 .*:29: Error: .*
 .*:32: Error: .*
@@ -44,9 +43,8 @@ GAS LISTING .*
 .*  Error: SSE instruction `pcmpgtq' is used
 [      ]*20[   ]+C1
 [      ]*21[   ]+
-[      ]*22[   ]+\# SSE4a instruction
+[      ]*22[   ]+\# SSE4a instruction.*
 [      ]*23[   ]+\?\?\?\? 660F78C0             extrq \$0, \$0, %xmm0
-.*  Error: SSE instruction `extrq' is used
 [      ]*23[   ]+0000
 [      ]*24[   ]+
 [      ]*25[   ]+\# PCMUL instruction
@@ -70,7 +68,7 @@ GAS LISTING .*
 [      ]*36[   ]+\?\?\?\? 62F27D09             vgf2p8mulb %xmm0, %xmm0, %xmm0\{%k1\}
 [      ]*36[   ]+CFC0
 [      ]*37[   ]+\?\?\?\? 62F27D48             vgf2p8mulb %zmm0, %zmm0, %zmm0
+[      ]*37[   ]+CFC0
 \fGAS LISTING .*
 
 
-[      ]*37[   ]+CFC0