From 00cc494595ea848438012eec6c89b174305070d7 Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Fri, 31 Mar 2006 00:28:23 +0000 Subject: [PATCH] Add a method useful for decimating vectors. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27269 91177308-0d34-0410-b5e6-96231b3b80d8 --- include/llvm/Target/TargetLowering.h | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/include/llvm/Target/TargetLowering.h b/include/llvm/Target/TargetLowering.h index 0615531a21b..e1643e23d3a 100644 --- a/include/llvm/Target/TargetLowering.h +++ b/include/llvm/Target/TargetLowering.h @@ -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::const_iterator legal_fpimm_iterator; legal_fpimm_iterator legal_fpimm_begin() const { return LegalFPImmediates.begin();