> 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.
Just in case anyone cares, the relevant vector types for alpha are: v8i8, v4i16, and maybe v2i32 (only one unpack operation produces this and one pack operations consumes it). Of course all the operations that exist are (s|u)(min|max), packing, unpacking, and comparison. Not that I am too worried about support. Andrew > > > --- > Diffs of the changes: (+21 -3) > > ValueTypes.h | 24 +++++++++++++++++++++--- > 1 files changed, 21 insertions(+), 3 deletions(-) > > > Index: llvm/include/llvm/CodeGen/ValueTypes.h > diff -u llvm/include/llvm/CodeGen/ValueTypes.h:1.13 > llvm/include/llvm/CodeGen/ValueTypes.h:1.14 > --- llvm/include/llvm/CodeGen/ValueTypes.h:1.13 Thu Nov 17 15:44:42 2005 > +++ llvm/include/llvm/CodeGen/ValueTypes.h Mon Nov 28 23:45:28 2005 > @@ -48,14 +48,26 @@ > // be refined into a target vector type, or > // scalarized. > > + // These are 128 bit vectors of varying packed > types > + v16i8 = 14, // 16 x i8 > + v8i16 = 15, // 8 x i16 > + v4i32 = 16, // 4 x i32 > + v2i64 = 17, // 2 x i64 > + > + v4f32 = 18, // 4 x f32 > + v2f64 = 19, // 2 x f64 > + > LAST_VALUETYPE, // This always remains at the end of the list. > }; > > static inline bool isInteger(ValueType VT) { > - return VT >= i1 && VT <= i128; > + return (VT >= i1 && VT <= i128) || (VT >= v16i8 && VT <= v2i64); > } > static inline bool isFloatingPoint(ValueType VT) { > - return VT >= f32 && VT <= f128; > + return (VT >= f32 && VT <= f128) || (VT >= v4f32 && VT <= v2f64); > + } > + static inline bool isVector(ValueType VT) { > + return (VT >= v16i8 && VT <= v2f64); > } > > static inline unsigned getSizeInBits(ValueType VT) { > @@ -70,7 +82,13 @@ > case MVT::i64 : return 64; > case MVT::f80 : return 80; > case MVT::f128: > - case MVT::i128: return 128; > + case MVT::i128: > + case MVT::v16i8: > + case MVT::v8i16: > + case MVT::v4i32: > + case MVT::v2i64: > + case MVT::v4f32: > + case MVT::v2f64: return 128; > } > } _______________________________________________ llvm-commits mailing list llvm-commits@cs.uiuc.edu http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits