diff options
author | H.J. Lu <hjl.tools@gmail.com> | 2020-02-16 08:36:51 -0800 |
---|---|---|
committer | H.J. Lu <hjl.tools@gmail.com> | 2020-02-16 08:45:34 -0800 |
commit | af5c13b01ecc416d26321a2d60943d787ba24c7f (patch) | |
tree | b0e6fc6295a084b1c2a14340722b09300fe8ea35 /gas/config | |
parent | 5de9bb826dd155601da1e5e34060a1e7e443eee8 (diff) | |
download | gdb-af5c13b01ecc416d26321a2d60943d787ba24c7f.zip gdb-af5c13b01ecc416d26321a2d60943d787ba24c7f.tar.gz gdb-af5c13b01ecc416d26321a2d60943d787ba24c7f.tar.bz2 |
x86: Don't disable SSE4a when disabling SSE4
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.
gas/
* config/tc-i386.c (cpu_arch): Add .sse4a and nosse4a. Restore
nosse4.
* doc/c-i386.texi: Document sse4a and nosse4a.
opcodes/
* i386-gen.c (cpu_flag_init): Add CPU_ANY_SSE4A_FLAGS. Remove
CPU_ANY_SSE4_FLAGS.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 9e59eca..6cc7696 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -983,6 +983,8 @@ static const arch_entry cpu_arch[] = CPU_SSE2_FLAGS, 0 }, { STRING_COMMA_LEN (".sse3"), PROCESSOR_UNKNOWN, CPU_SSE3_FLAGS, 0 }, + { STRING_COMMA_LEN (".sse4a"), PROCESSOR_UNKNOWN, + CPU_SSE4A_FLAGS, 0 }, { STRING_COMMA_LEN (".ssse3"), PROCESSOR_UNKNOWN, CPU_SSSE3_FLAGS, 0 }, { STRING_COMMA_LEN (".sse4.1"), PROCESSOR_UNKNOWN, @@ -1177,10 +1179,11 @@ static const noarch_entry cpu_noarch[] = { STRING_COMMA_LEN ("nosse"), CPU_ANY_SSE_FLAGS }, { STRING_COMMA_LEN ("nosse2"), CPU_ANY_SSE2_FLAGS }, { STRING_COMMA_LEN ("nosse3"), CPU_ANY_SSE3_FLAGS }, + { STRING_COMMA_LEN ("nosse4a"), CPU_ANY_SSE4A_FLAGS }, { STRING_COMMA_LEN ("nossse3"), CPU_ANY_SSSE3_FLAGS }, { STRING_COMMA_LEN ("nosse4.1"), CPU_ANY_SSE4_1_FLAGS }, { STRING_COMMA_LEN ("nosse4.2"), CPU_ANY_SSE4_2_FLAGS }, - { STRING_COMMA_LEN ("nosse4"), CPU_ANY_SSE4_FLAGS }, + { STRING_COMMA_LEN ("nosse4"), CPU_ANY_SSE4_1_FLAGS }, { STRING_COMMA_LEN ("noavx"), CPU_ANY_AVX_FLAGS }, { STRING_COMMA_LEN ("noavx2"), CPU_ANY_AVX2_FLAGS }, { STRING_COMMA_LEN ("noavx512f"), CPU_ANY_AVX512F_FLAGS }, |