This adds support for a few more instruction patterns that are
apparentl needed by gcc 4.8.  Taken from binutils 2.17.  Not sure if
adding NoRex64 to the existing patterns is really necessary, but it
shouldn't hurt.

ok?


Index: include/opcode/i386.h
===================================================================
RCS file: /cvs/src/gnu/usr.bin/binutils/include/opcode/i386.h,v
retrieving revision 1.14
diff -u -p -r1.14 i386.h
--- include/opcode/i386.h       9 Feb 2014 22:42:27 -0000       1.14
+++ include/opcode/i386.h       16 Feb 2014 10:48:50 -0000
@@ -1000,10 +1000,14 @@ static const template i386_optab[] = {
 {"movd",     2, 0x660f7e,X,CpuSSE2,FP|Modrm,           { RegXMM, 
Reg64|LLongMem, 0 } },
 /* In the 64bit mode the short form mov immediate is redefined to have
    64bit displacement value.  */
-{"movq",     2, 0x0f6f, X, CpuMMX, FP|Modrm,           { RegMMX|LongMem, 
RegMMX, 0 } },
-{"movq",     2, 0x0f7f, X, CpuMMX, FP|Modrm,           { RegMMX, 
RegMMX|LongMem, 0 } },
-{"movq",     2, 0xf30f7e,X,CpuSSE2,FP|Modrm,           { RegXMM|LLongMem, 
RegXMM, 0 } },
-{"movq",     2, 0x660fd6,X,CpuSSE2,FP|Modrm,           { RegXMM, 
RegXMM|LLongMem, 0 } },
+{"movq",     2, 0x0f6f, X, CpuMMX, FP|Modrm|NoRex64,   { RegMMX|LongMem, 
RegMMX, 0 } },
+{"movq",     2, 0x0f7f, X, CpuMMX, FP|Modrm|NoRex64,   { RegMMX, 
RegMMX|LongMem, 0 } },
+{"movq",     2, 0xf30f7e,X,CpuSSE2,FP|Modrm|NoRex64,   { RegXMM|LLongMem, 
RegXMM, 0 } },
+{"movq",     2, 0x660fd6,X,CpuSSE2,FP|Modrm|NoRex64,   { RegXMM, 
RegXMM|LLongMem, 0 } },
+{"movq",     2, 0x0f6e, X, Cpu64,  FP|Modrm,           { Reg64|LLongMem, 
RegMMX, 0 } },
+{"movq",     2, 0x0f7e, X, Cpu64,  FP|Modrm,           { RegMMX, 
Reg64|LLongMem, 0 } },
+{"movq",     2, 0x660f6e,X,Cpu64,  FP|Modrm,           { Reg64|LLongMem, 
RegXMM, 0 } },
+{"movq",     2, 0x660f7e,X,Cpu64,  FP|Modrm,           { RegXMM, 
Reg64|LLongMem, 0 } },
 {"movq",   2,  0x88, X, Cpu64,  NoSuf|D|W|Modrm|Size64,{ Reg64, Reg64|AnyMem, 
0 } },
 {"movq",   2,  0xc6, 0, Cpu64,  NoSuf|W|Modrm|Size64,  { Imm32S, 
Reg64|WordMem, 0 } },
 {"movq",   2,  0xb0, X, Cpu64,  NoSuf|W|ShortForm|Size64,{ Imm64, Reg64, 0 } },

Reply via email to