diff options
author | Jan Beulich <jbeulich@suse.com> | 2019-07-01 08:31:50 +0200 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2019-07-01 08:31:50 +0200 |
commit | a80195f1224aced64392b452d55980b6bbd2a8b9 (patch) | |
tree | df3d8a1071f7e151b437f2f245b433a6959e7d9e /gas/config/tc-i386.c | |
parent | a0a1771e895e6606a2a795c407e20aed73f69bd9 (diff) | |
download | gdb-a80195f1224aced64392b452d55980b6bbd2a8b9.zip gdb-a80195f1224aced64392b452d55980b6bbd2a8b9.tar.gz gdb-a80195f1224aced64392b452d55980b6bbd2a8b9.tar.bz2 |
x86: StaticRounding implies SAE
This implication allows to simplify some conditionals, thus slightly
improving performance. This change also paves the way for re-using
StaticRounding for non-EVEX insns.
Diffstat (limited to 'gas/config/tc-i386.c')
-rw-r--r-- | gas/config/tc-i386.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index bc7d556..fe50566 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -3557,7 +3557,7 @@ is_evex_encoding (const insn_template *t) { return t->opcode_modifier.evex || t->opcode_modifier.disp8memshift || t->opcode_modifier.broadcast || t->opcode_modifier.masking - || t->opcode_modifier.staticrounding || t->opcode_modifier.sae; + || t->opcode_modifier.sae; } static INLINE bfd_boolean @@ -5469,11 +5469,8 @@ check_VecOperands (const insn_template *t) /* Check RC/SAE. */ if (i.rounding) { - if ((i.rounding->type != saeonly - && !t->opcode_modifier.staticrounding) - || (i.rounding->type == saeonly - && (t->opcode_modifier.staticrounding - || !t->opcode_modifier.sae))) + if (!t->opcode_modifier.sae + || (i.rounding->type != saeonly && !t->opcode_modifier.staticrounding)) { i.error = unsupported_rc_sae; return 1; |