diff options
author | Suyog Sarda <suyog.sarda@samsung.com> | 2014-12-12 12:53:44 +0000 |
---|---|---|
committer | Suyog Sarda <suyog.sarda@samsung.com> | 2014-12-12 12:53:44 +0000 |
commit | 384095e65c9d383309d876d2b0595bd976215da3 (patch) | |
tree | 909980fd0a0bd7ec88fe661e9c76a5be5c556154 /clang/unittests/Format/FormatTestJava.cpp | |
parent | 01236e3eca6b7fba347fb6b88c6fdcd7624d45ad (diff) | |
download | llvm-384095e65c9d383309d876d2b0595bd976215da3.zip llvm-384095e65c9d383309d876d2b0595bd976215da3.tar.gz llvm-384095e65c9d383309d876d2b0595bd976215da3.tar.bz2 |
This patch recognizes (+ (+ v0, v1) (+ v2, v3)), reorders them for bundling into vector of loads,
and vectorizes it.
Test case :
float hadd(float* a) {
return (a[0] + a[1]) + (a[2] + a[3]);
}
AArch64 assembly before patch :
ldp s0, s1, [x0]
ldp s2, s3, [x0, #8]
fadd s0, s0, s1
fadd s1, s2, s3
fadd s0, s0, s1
ret
AArch64 assembly after patch :
ldp d0, d1, [x0]
fadd v0.2s, v0.2s, v1.2s
faddp s0, v0.2s
ret
Reviewed Link : http://lists.cs.uiuc.edu/pipermail/llvm-commits/Week-of-Mon-20141208/248531.html
llvm-svn: 224119
Diffstat (limited to 'clang/unittests/Format/FormatTestJava.cpp')
0 files changed, 0 insertions, 0 deletions