[committed, PATCH] x86: Don't disable SSE4a when disabling SSE4

Alan Modra amodra@gmail.com
Mon Feb 17 01:06:00 GMT 2020
On Sun, Feb 16, 2020 at 08:47:56AM -0800, H.J. Lu wrote:
> commit 7deea9aad8 changed nosse4 to include CpuSSE4a.  But AMD SSE4a is
> a superset of SSE3 and Intel SSE4 is a superset of SSSE3.  Disable Intel
> SSE4 shouldn't disable AMD SSE4a.  This patch restores nosse4.  It also
> adds .sse4a and nosse4a.

diff --git a/opcodes/i386-gen.c b/opcodes/i386-gen.c
index 79f4cc9d25..45106bcf6d 100644
--- a/opcodes/i386-gen.c
+++ b/opcodes/i386-gen.c
@@ -326,6 +326,8 @@ static initializer cpu_flag_init[] =
   { "CPU_ANY_SSE2_FLAGS",
     "CPU_ANY_SSE3_FLAGS|CpuSSE2" },
   { "CPU_ANY_SSE3_FLAGS",
+  { "CPU_ANY_SSE4A_FLAGS",
+    "CPU_ANY_SSE3_FLAGS|CpuSSE4a" },
     "CPU_ANY_SSSE3_FLAGS|CpuSSE3|CpuSSE4a" },
   { "CPU_ANY_SSSE3_FLAGS",
     "CPU_ANY_SSE4_1_FLAGS|CpuSSSE3" },
@@ -333,8 +335,6 @@ static initializer cpu_flag_init[] =
     "CPU_ANY_SSE4_2_FLAGS|CpuSSE4_1" },
   { "CPU_ANY_SSE4_2_FLAGS",
     "CpuSSE4_2" },
-  { "CPU_ANY_SSE4_FLAGS",
-    "CPU_ANY_SSE4_1_FLAGS|CpuSSE4a" },
   { "CPU_ANY_AVX_FLAGS",
     "CPU_ANY_AVX2_FLAGS|CpuF16C|CpuFMA|CpuFMA4|CpuXOP|CpuAVX" },
   { "CPU_ANY_AVX2_FLAGS",

Merge error?

-- 
Alan Modra
Australia Development Lab, IBM



More information about the Binutils mailing list