diff options
| author | Mon P Wang <wangmp@apple.com> | 2008-12-12 01:25:51 +0000 |
|---|---|---|
| committer | Mon P Wang <wangmp@apple.com> | 2008-12-12 01:25:51 +0000 |
| commit | 83edba507f0682691a5b82dd07f877ea0dbeddc0 (patch) | |
| tree | 6c753c8554523a437a141254e13ab1c72875aff3 /lib/Target/X86/X86ISelLowering.cpp | |
| parent | ae034ed6a84ffef03fc47e31c29e6c3c7ce42d40 (diff) | |
| download | external_llvm-83edba507f0682691a5b82dd07f877ea0dbeddc0.zip external_llvm-83edba507f0682691a5b82dd07f877ea0dbeddc0.tar.gz external_llvm-83edba507f0682691a5b82dd07f877ea0dbeddc0.tar.bz2 | |
Added support for SELECT v8i8 v4i16 for X86 (MMX)
Added support for TRUNC v8i16 to v8i8 for X86 (MMX)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@60916 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/X86/X86ISelLowering.cpp')
| -rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index 496112d..fd57ccf 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -650,6 +650,13 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM) setOperationAction(ISD::SCALAR_TO_VECTOR, MVT::v1i64, Custom); setOperationAction(ISD::INSERT_VECTOR_ELT, MVT::v4i16, Custom); + + setTruncStoreAction(MVT::v8i16, MVT::v8i8, Expand); + setOperationAction(ISD::TRUNCATE, MVT::v8i8, Expand); + setOperationAction(ISD::SELECT, MVT::v8i8, Promote); + setOperationAction(ISD::SELECT, MVT::v4i16, Promote); + setOperationAction(ISD::SELECT, MVT::v2i32, Promote); + setOperationAction(ISD::SELECT, MVT::v1i64, Custom); } if (Subtarget->hasSSE1()) { @@ -6960,6 +6967,7 @@ X86TargetLowering::EmitInstrWithCustomInserter(MachineInstr *MI, const TargetInstrInfo *TII = getTargetMachine().getInstrInfo(); switch (MI->getOpcode()) { default: assert(false && "Unexpected instr type to insert"); + case X86::CMOV_V1I64: case X86::CMOV_FR32: case X86::CMOV_FR64: case X86::CMOV_V4F32: |
