First chunk of actually generating vector code for packed types. These
authorNate Begeman <natebegeman@mac.com>
Wed, 30 Nov 2005 08:22:07 +0000 (08:22 +0000)
committerNate Begeman <natebegeman@mac.com>
Wed, 30 Nov 2005 08:22:07 +0000 (08:22 +0000)
commitf43a3ca26d7bf431be5cdfb5963350a158e840af
tree7bacbc487489a6dde94a6ab88ce1503037c19609
parent7f0db91f86cfbd7c7268f945385d7a3056150bc7
First chunk of actually generating vector code for packed types.  These
changes allow us to generate the following code:

_foo:
        li r2, 0
        lvx v0, r2, r3
        vaddfp v0, v0, v0
        stvx v0, r2, r3
        blr

for this llvm:

void %foo(<4 x float>* %a) {
entry:
        %tmp1 = load <4 x float>* %a
        %tmp2 = add <4 x float> %tmp1, %tmp1
        store <4 x float> %tmp2, <4 x float>* %a
        ret void
}

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@24534 91177308-0d34-0410-b5e6-96231b3b80d8
include/llvm/CodeGen/ValueTypes.h
lib/CodeGen/SelectionDAG/SelectionDAGISel.cpp
lib/Target/PowerPC/PPCISelDAGToDAG.cpp