[llvm] r344172 - [LV] Add a new reduction pattern match

Renato Golin via llvm-commits llvm-commits at lists.llvm.org
Tue Oct 23 07:14:14 PDT 2018


On Tue, 23 Oct 2018 at 15:10, Renato Golin <renato.golin at linaro.org> wrote:
> I'll have a look, too.

Looks like it needs fast-math:

~/devel/tests/s3111$ clang -target aarch64-linux-gnu -ffast-math -O3
-S -emit-llvm tsvc3111.c -o - | grep "4 x float"
  ...
  %4 = fadd fast <4 x float> %wide.load, %vec.phi
  %5 = fadd fast <4 x float> %wide.load11, %vec.phi10
  %bin.rdx = fadd fast <4 x float> %5, %4
  %rdx.shuf = shufflevector <4 x float> %bin.rdx, <4 x float> undef,
<4 x i32> <i32 2, i32 3, i32 undef, i32 undef>
  %bin.rdx12 = fadd fast <4 x float> %bin.rdx, %rdx.shuf
  %rdx.shuf13 = shufflevector <4 x float> %bin.rdx12, <4 x float>
undef, <4 x i32> <i32 1, i32 undef, i32 undef, i32 undef>
  %bin.rdx14 = fadd fast <4 x float> %bin.rdx12, %rdx.shuf13
  ...
~/devel/tests/s3111$ clang -target aarch64-linux-gnu -O3 -S -emit-llvm
tsvc3111.c -o - | grep "4 x float"
~/devel/tests/s3111$


-- 
cheers,
--renato


More information about the llvm-commits mailing list