Changes in directory llvm/lib/Target:
Target.td updated: 1.61 -> 1.62 TargetLowering.cpp updated: 1.14 -> 1.15 --- Log message: Add the majority of the vector machien value types we expect to support, and make a few changes to the legalization machinery to support more than 16 types. --- Diffs of the changes: (+10 -4) Target.td | 8 +++++++- TargetLowering.cpp | 6 +++--- 2 files changed, 10 insertions(+), 4 deletions(-) Index: llvm/lib/Target/Target.td diff -u llvm/lib/Target/Target.td:1.61 llvm/lib/Target/Target.td:1.62 --- llvm/lib/Target/Target.td:1.61 Mon Nov 28 18:42:30 2005 +++ llvm/lib/Target/Target.td Mon Nov 28 23:45:29 2005 @@ -38,7 +38,13 @@ def f128 : ValueType<128, 10>; // 128-bit floating point value def FlagVT : ValueType<0 , 11>; // Condition code or machine flag def isVoid : ValueType<0 , 12>; // Produces no value -def Vector : ValueType<0 , 13>; // Abstract vector type +def Vector : ValueType<0 , 13>; // Abstract vector value +def v16i8 : ValueType<128, 14>; // 16 x i8 vector value +def v8i16 : ValueType<128, 15>; // 8 x i16 vector value +def v4i32 : ValueType<128, 16>; // 4 x i32 vector value +def v2i64 : ValueType<128, 17>; // 2 x i64 vector value +def v4f32 : ValueType<128, 18>; // 4 x f32 vector value +def v2f64 : ValueType<128, 19>; // 2 x f64 vector value //===----------------------------------------------------------------------===// // Register file description - These classes are used to fill in the target Index: llvm/lib/Target/TargetLowering.cpp diff -u llvm/lib/Target/TargetLowering.cpp:1.14 llvm/lib/Target/TargetLowering.cpp:1.15 --- llvm/lib/Target/TargetLowering.cpp:1.14 Mon Nov 21 19:29:36 2005 +++ llvm/lib/Target/TargetLowering.cpp Mon Nov 28 23:45:29 2005 @@ -42,8 +42,8 @@ TargetLowering::LegalizeAction Action, TargetLowering &TLI, MVT::ValueType *TransformToType, - unsigned &ValueTypeActions) { - ValueTypeActions |= Action << (VT*2); + unsigned long long &ValueTypeActions) { + ValueTypeActions |= (unsigned long long)Action << (VT*2); if (Action == TargetLowering::Promote) { MVT::ValueType PromoteTo; if (VT == MVT::f32) @@ -75,7 +75,7 @@ /// computeRegisterProperties - Once all of the register classes are added, /// this allows us to compute derived properties we expose. void TargetLowering::computeRegisterProperties() { - assert(MVT::LAST_VALUETYPE <= 16 && + assert(MVT::LAST_VALUETYPE <= 32 && "Too many value types for ValueTypeActions to hold!"); // Everything defaults to one. _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits