diff options
author | Jan Beulich <jbeulich@novell.com> | 2018-03-08 08:58:05 +0100 |
---|---|---|
committer | Jan Beulich <jbeulich@suse.com> | 2018-03-08 08:58:05 +0100 |
commit | ed438a93f18024da926eb4f56a0f96f597254a55 (patch) | |
tree | e27d34d35da461966c78ab91d56c46e1a402e41b /gas/config | |
parent | 454172a99e4aebafa2cd42d389cd63a8733a046a (diff) | |
download | gdb-ed438a93f18024da926eb4f56a0f96f597254a55.zip gdb-ed438a93f18024da926eb4f56a0f96f597254a55.tar.gz gdb-ed438a93f18024da926eb4f56a0f96f597254a55.tar.bz2 |
x86: fold certain AVX512 rotate and shift templates
Their memory forms were bogusly using VexLWP instead of VexNDD. Adjust
VexNDD handling to cope with these, allowing their register and memory
forms to be folded.
Diffstat (limited to 'gas/config')
-rw-r--r-- | gas/config/tc-i386.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c index 8c37bff..cc10715 100644 --- a/gas/config/tc-i386.c +++ b/gas/config/tc-i386.c @@ -7157,9 +7157,10 @@ build_modrm_byte (void) } else { - /* There are only 2 operands. */ - gas_assert (op < 2 && i.operands == 2); - vex_reg = 1; + /* There are only 2 non-immediate operands. */ + gas_assert (op < i.imm_operands + 2 + && i.operands == i.imm_operands + 2); + vex_reg = i.imm_operands + 1; } } else |