[PATCH 2/4] x86: correct operand_types[] used in build_vex_prefix()
Jan Beulich <[email protected]> Fri, 24 Jul 2026 12:14:28 +0200
| Newsgroups | gmane.comp.gnu.binutils |
|---|---|
| Message-ID | <[email protected]> |
While benign at the moment, using t's ->operand_types[] isn't really
correct: Closer to the top of the function we may have installed t[1] for
use by the insn. Hence we should also use its .operand_types[], which now
are in i.tm_types[].
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -4402,8 +4402,8 @@ build_vex_prefix (const insn_template *t
operand. */
vector_length = 0;
for (op = t->operands; op--;)
- if (t->operand_types[op].bitfield.xmmword
- && t->operand_types[op].bitfield.ymmword
+ if (i.tm_types[op].bitfield.xmmword
+ && i.tm_types[op].bitfield.ymmword
&& i.types[op].bitfield.ymmword)
{
vector_length = 1;