aboutsummaryrefslogtreecommitdiff
path: root/gas/config
diff options
context:
space:
mode:
authorJan Beulich <jbeulich@novell.com>2018-03-08 08:58:05 +0100
committerJan Beulich <jbeulich@suse.com>2018-03-08 08:58:05 +0100
commited438a93f18024da926eb4f56a0f96f597254a55 (patch)
treee27d34d35da461966c78ab91d56c46e1a402e41b /gas/config
parent454172a99e4aebafa2cd42d389cd63a8733a046a (diff)
downloadgdb-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.c7
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