forked from OSchip/llvm-project
- PEXTRW cannot take a memory location as its first source operand.
- PINSRWrmi encoding bug. llvm-svn: 27818
This commit is contained in:
parent
43f4ef4ffb
commit
3823aa1d0f
|
@ -2007,13 +2007,6 @@ def PEXTRWri : PDIi8<0xC5, MRMSrcReg,
|
|||
"pextrw {$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||
[(set R32:$dst, (X86pextrw (v8i16 VR128:$src1),
|
||||
(i32 imm:$src2)))]>;
|
||||
def PEXTRWmi : PDIi8<0xC5, MRMSrcMem,
|
||||
(ops R32:$dst, i128mem:$src1, i32i8imm:$src2),
|
||||
"pextrw {$src2, $src1, $dst|$dst, $src1, $src2}",
|
||||
[(set R32:$dst, (X86pextrw
|
||||
(bc_v8i16 (loadv2i64 addr:$src1)),
|
||||
(i32 imm:$src2)))]>;
|
||||
|
||||
let isTwoAddress = 1 in {
|
||||
def PINSRWrri : PDIi8<0xC4, MRMSrcReg,
|
||||
(ops VR128:$dst, VR128:$src1, R32:$src2, i32i8imm:$src3),
|
||||
|
|
|
@ -572,8 +572,7 @@ MachineInstr* X86RegisterInfo::foldMemoryOperand(MachineInstr* MI,
|
|||
case X86::PUNPCKHWDrr:return MakeRMInst(X86::PUNPCKHWDrm, FrameIndex, MI);
|
||||
case X86::PUNPCKHDQrr:return MakeRMInst(X86::PUNPCKHDQrm, FrameIndex, MI);
|
||||
case X86::PUNPCKHQDQrr:return MakeRMInst(X86::PUNPCKHQDQrm, FrameIndex, MI);
|
||||
case X86::PEXTRWri: return MakeRMInst(X86::PEXTRWmi, FrameIndex, MI);
|
||||
case X86::PINSRWrri: return MakeRMInst(X86::PINSRWrmi, FrameIndex, MI);
|
||||
case X86::PINSRWrri: return MakeRMIInst(X86::PINSRWrmi, FrameIndex, MI);
|
||||
// Alias packed SSE instructions
|
||||
case X86::MOVSS2PSrr:return MakeRMInst(X86::MOVSS2PSrm, FrameIndex, MI);
|
||||
case X86::MOVSD2PDrr:return MakeRMInst(X86::MOVSD2PDrm, FrameIndex, MI);
|
||||
|
|
Loading…
Reference in New Issue