Add a method useful for decimating vectors.
authorChris Lattner <sabre@nondot.org>
Fri, 31 Mar 2006 00:28:23 +0000 (00:28 +0000)
committerChris Lattner <sabre@nondot.org>
Fri, 31 Mar 2006 00:28:23 +0000 (00:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27269 91177308-0d34-0410-b5e6-96231b3b80d8

include/llvm/Target/TargetLowering.h

index 0615531a21ba3a8a894f958246246a68b7d65edf..e1643e23d3a56a66fe4d57f9016e11022d1bb2d4 100644 (file)
@@ -173,6 +173,16 @@ public:
     return TransformToType[VT];
   }
 
+  /// getPackedTypeBreakdown - Packed types are broken down into some number of
+  /// legal scalar types.  For example, <8 x float> maps to 2 MVT::v2f32 values
+  /// with Altivec or SSE1, or 8 promoted MVT::f64 values with the X86 FP stack.
+  /// Similarly, <2 x long> turns into 4 MVT::i32 values with both PPC and X86.
+  ///
+  /// This method returns the number and type of the resultant breakdown.
+  ///
+  MVT::ValueType getPackedTypeBreakdown(const PackedType *PTy, 
+                                        unsigned &NE) const;
+  
   typedef std::vector<double>::const_iterator legal_fpimm_iterator;
   legal_fpimm_iterator legal_fpimm_begin() const {
     return LegalFPImmediates.begin();