diff options
author | Nate Begeman <natebegeman@mac.com> | 2005-11-19 00:36:38 +0000 |
---|---|---|
committer | Nate Begeman <natebegeman@mac.com> | 2005-11-19 00:36:38 +0000 |
commit | 5fbb5d2459a5410590f285250faa604576308a93 (patch) | |
tree | ccb623e7f9965907ac76987d1e0964967b61f766 /lib/VMCore/ValueTypes.cpp | |
parent | 06a40438722a4889abd239efbd6c1bf4bbbee85b (diff) | |
download | external_llvm-5fbb5d2459a5410590f285250faa604576308a93.zip external_llvm-5fbb5d2459a5410590f285250faa604576308a93.tar.gz external_llvm-5fbb5d2459a5410590f285250faa604576308a93.tar.bz2 |
Teach LLVM how to scalarize packed types. Currently, this only works on
packed types with an element count of 1, although more generic support is
coming. This allows LLVM to turn the following code:
void %foo(<1 x float> * %a) {
entry:
%tmp1 = load <1 x float> * %a;
%tmp2 = add <1 x float> %tmp1, %tmp1
store <1 x float> %tmp2, <1 x float> *%a
ret void
}
Into:
_foo:
lfs f0, 0(r3)
fadds f0, f0, f0
stfs f0, 0(r3)
blr
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24416 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/VMCore/ValueTypes.cpp')
-rw-r--r-- | lib/VMCore/ValueTypes.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/lib/VMCore/ValueTypes.cpp b/lib/VMCore/ValueTypes.cpp index 1013838..384335d 100644 --- a/lib/VMCore/ValueTypes.cpp +++ b/lib/VMCore/ValueTypes.cpp @@ -33,6 +33,7 @@ const char *MVT::getValueTypeString(MVT::ValueType VT) { case MVT::isVoid:return "isVoid"; case MVT::Other: return "ch"; case MVT::Flag: return "flag"; + case MVT::Vector:return "vec"; } } |