OSDN Git Service

Add FIXME for operand promotion.
authorEric Christopher <echristo@apple.com>
Tue, 30 Mar 2010 01:04:59 +0000 (01:04 +0000)
committerEric Christopher <echristo@apple.com>
Tue, 30 Mar 2010 01:04:59 +0000 (01:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@99859 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/X86/X86ISelLowering.cpp

index c232585..8a3e233 100644 (file)
@@ -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);