diff options
author | Eric Christopher <echristo@apple.com> | 2010-03-30 01:04:59 +0000 |
---|---|---|
committer | Eric Christopher <echristo@apple.com> | 2010-03-30 01:04:59 +0000 |
commit | 4bd24c257ed1ee10cef1f1b417e1dd2e52e21968 (patch) | |
tree | 377d0734192a08d8ed406dac96fed4b3131f10c1 /lib | |
parent | d77f8181b434e3213611927e9e818d930121a5d1 (diff) | |
download | external_llvm-4bd24c257ed1ee10cef1f1b417e1dd2e52e21968.tar.gz external_llvm-4bd24c257ed1ee10cef1f1b417e1dd2e52e21968.tar.bz2 external_llvm-4bd24c257ed1ee10cef1f1b417e1dd2e52e21968.zip |
Add FIXME for operand promotion.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99859 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Target/X86/X86ISelLowering.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/lib/Target/X86/X86ISelLowering.cpp b/lib/Target/X86/X86ISelLowering.cpp index c232585fe7..8a3e2336b2 100644 --- a/lib/Target/X86/X86ISelLowering.cpp +++ b/lib/Target/X86/X86ISelLowering.cpp @@ -794,6 +794,9 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM) } // Promote v16i8, v8i16, v4i32 load, select, and, or, xor to v2i64. + // FIXME: This produces lots of inefficiencies in isel since + // we then need notice that most of our operands have been implicitly + // converted to v2i64. for (unsigned i = (unsigned)MVT::v16i8; i != (unsigned)MVT::v2i64; i++) { MVT::SimpleValueType SVT = (MVT::SimpleValueType)i; EVT VT = SVT; @@ -802,6 +805,7 @@ X86TargetLowering::X86TargetLowering(X86TargetMachine &TM) if (!VT.is128BitVector()) { continue; } + setOperationAction(ISD::AND, SVT, Promote); AddPromotedToType (ISD::AND, SVT, MVT::v2i64); setOperationAction(ISD::OR, SVT, Promote); |