[PATCH] x86-64: respect MOVABS when choosing alternative encodings

Jan Beulich jbeulich@suse.com
Fri Jan 27 11:10:24 GMT 2023


The alternative encoding is valid for MOV, but there's no such thing for
MOVABS.

--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -6888,7 +6888,8 @@ match_template (char mnem_suffix)
 	    continue;
 
 	  if (t->base_opcode == MOV_AX_DISP32
-	      && t->opcode_modifier.opcodespace == SPACE_BASE)
+	      && t->opcode_modifier.opcodespace == SPACE_BASE
+	      && t->mnem_off != MN_movabs)
 	    {
 	      /* Force 0x8b encoding for "mov foo@GOT, %eax".  */
 	      if (i.reloc[0] == BFD_RELOC_386_GOT32)


More information about the Binutils mailing list