[binutils-gdb] x86: correct operand_types[] used in build_vex_prefix()

Jan Beulich via Binutils-cvs <[email protected]>
Newsgroups gmane.comp.gnu.binutils.cvs
Message-ID <[email protected]>
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=0be368a40aeaaa937faa66424793fcb5024ea3a8

commit 0be368a40aeaaa937faa66424793fcb5024ea3a8
Author: Jan Beulich <[email protected]>
Date:   Fri Aug 14 10:48:54 2026 +0200

    x86: correct operand_types[] used in build_vex_prefix()
    
    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[].

Diff:
---
 gas/config/tc-i386.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 5286d014f81..d0bc2b64975 100644
--- 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;
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.