aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@suse.com>2022-04-20 16:56:05 +0200
committerJan Beulich <jbeulich@suse.com>2022-04-20 16:56:05 +0200
commit1db5a7fe0be94e839648079f6a7fa24f44310275 (patch)
tree6fcc5366f085f9c4fa9ca336c1d4ad5c654aaaaa /gas/config
parent85649ec8eb986d5a66a1d2cb226c331af412bd0e (diff)
downloadgdb-1db5a7fe0be94e839648079f6a7fa24f44310275.zip
gdb-1db5a7fe0be94e839648079f6a7fa24f44310275.tar.gz
gdb-1db5a7fe0be94e839648079f6a7fa24f44310275.tar.bz2
x86: reject all invalid SAE variants
So far an SAE-only specifier was accepted for static-rounding insns, while SAE-only insns didn't accept static rounding specifiers. If anything it would make sense the other way around, allowing SAE-only insns to have the (ignored) rounding mode specified individually rather than globally via -mevexrcig=. But for now make things match the SDM.
Diffstat (limited to 'gas/config')
-rw-r--r--gas/config/tc-i386.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index b8e3c24..61b9af1 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6272,7 +6272,7 @@ check_VecOperands (const insn_template *t)
if (i.rounding.type != rc_none)
{
if (!t->opcode_modifier.sae
- || (i.rounding.type != saeonly && !t->opcode_modifier.staticrounding))
+ || ((i.rounding.type != saeonly) != t->opcode_modifier.staticrounding))
{
i.error = unsupported_rc_sae;
return 1;