[llvm] r198547 - Fix encoding for PUSH64i16. Add In64BitMode Predicate. Remove disassembler hack.
Craig Topper
craig.topper at gmail.com
Sat Jan 4 21:46:38 PST 2014
Author: ctopper
Date: Sat Jan 4 23:46:38 2014
New Revision: 198547
URL: http://llvm.org/viewvc/llvm-project?rev=198547&view=rev
Log:
Fix encoding for PUSH64i16. Add In64BitMode Predicate. Remove disassembler hack.
Modified:
llvm/trunk/lib/Target/X86/X86InstrInfo.td
llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
Modified: llvm/trunk/lib/Target/X86/X86InstrInfo.td
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/X86/X86InstrInfo.td?rev=198547&r1=198546&r2=198547&view=diff
==============================================================================
--- llvm/trunk/lib/Target/X86/X86InstrInfo.td (original)
+++ llvm/trunk/lib/Target/X86/X86InstrInfo.td Sat Jan 4 23:46:38 2014
@@ -915,7 +915,8 @@ def PUSH32rmm: I<0xFF, MRM6m, (outs), (i
def PUSHi8 : Ii8<0x6a, RawFrm, (outs), (ins i32i8imm:$imm),
"push{l}\t$imm", [], IIC_PUSH_IMM>, Requires<[Not64BitMode]>;
def PUSHi16 : Ii16<0x68, RawFrm, (outs), (ins i16imm:$imm),
- "push{w}\t$imm", [], IIC_PUSH_IMM>, OpSize;
+ "push{w}\t$imm", [], IIC_PUSH_IMM>, OpSize,
+ Requires<[Not64BitMode]>;
def PUSHi32 : Ii32<0x68, RawFrm, (outs), (ins i32imm:$imm),
"push{l}\t$imm", [], IIC_PUSH_IMM>, Requires<[Not64BitMode]>;
@@ -951,7 +952,8 @@ let Defs = [RSP], Uses = [RSP], neverHas
def PUSH64i8 : Ii8<0x6a, RawFrm, (outs), (ins i64i8imm:$imm),
"push{q}\t$imm", [], IIC_PUSH_IMM>, Requires<[In64BitMode]>;
def PUSH64i16 : Ii16<0x68, RawFrm, (outs), (ins i16imm:$imm),
- "push{q}\t$imm", [], IIC_PUSH_IMM>;
+ "push{w}\t$imm", [], IIC_PUSH_IMM>, OpSize,
+ Requires<[In64BitMode]>;
def PUSH64i32 : Ii32<0x68, RawFrm, (outs), (ins i64i32imm:$imm),
"push{q}\t$imm", [], IIC_PUSH_IMM>, Requires<[In64BitMode]>;
}
Modified: llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp?rev=198547&r1=198546&r2=198547&view=diff
==============================================================================
--- llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp (original)
+++ llvm/trunk/utils/TableGen/X86RecognizableInstr.cpp Sat Jan 4 23:46:38 2014
@@ -509,8 +509,7 @@ RecognizableInstr::filter_ret Recognizab
// Special cases.
- if (Name == "PUSH64i16" ||
- Name == "MOVPQI2QImr" ||
+ if (Name == "MOVPQI2QImr" ||
Name == "VMOVPQI2QImr" ||
Name == "VMASKMOVDQU64")
return FILTER_WEAK;
More information about the llvm-commits
mailing list