diff options
author | Chris Lattner <sabre@nondot.org> | 2007-08-03 00:16:29 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2007-08-03 00:16:29 +0000 |
commit | 73ab9b3c14673ebeaf2bf2f7bda3b0b1c2bbad7c (patch) | |
tree | ff7f72601d2e0459544c4a41a3ef85d27b32da7d /llvm/lib/Bitcode/Reader/BitcodeReader.cpp | |
parent | 9e751cae2756933c9eec8076ff767bf9dc7a6a72 (diff) | |
download | bcm5719-llvm-73ab9b3c14673ebeaf2bf2f7bda3b0b1c2bbad7c.tar.gz bcm5719-llvm-73ab9b3c14673ebeaf2bf2f7bda3b0b1c2bbad7c.zip |
implement lvalue to rvalue conversion for ocuvector components. We can now compile stuff
like this:
typedef __attribute__(( ocu_vector_type(4) )) float float4;
float4 test1(float4 V) {
return V.wzyx+V;
}
to:
_test1:
pshufd $27, %xmm0, %xmm1
addps %xmm0, %xmm1
movaps %xmm1, %xmm0
ret
and:
_test1:
mfspr r2, 256
oris r3, r2, 4096
mtspr 256, r3
li r3, lo16(LCPI1_0)
lis r4, ha16(LCPI1_0)
lvx v3, r4, r3
vperm v3, v2, v2, v3
vaddfp v2, v3, v2
mtspr 256, r2
blr
llvm-svn: 40771
Diffstat (limited to 'llvm/lib/Bitcode/Reader/BitcodeReader.cpp')
0 files changed, 0 insertions, 0 deletions