[ARM] More MVE compare vector splat combines for ANDs
[llvm-complete.git] / test / CodeGen / ARM / illegal-vector-bitcast.ll
blob766b3d7ca43353d0bcbcb2a40b9a5ddb72592c58
1 ; RUN: llc -mtriple=arm-eabi %s -o /dev/null
2 ; RUN: llc -mtriple=arm-linux %s -o /dev/null
4 define void @foo(<8 x float>* %f, <8 x float>* %g, <4 x i64>* %y)
6   %h = load <8 x float>, <8 x float>* %f
7   %i = fmul <8 x float> %h, <float 0x3FF19999A0000000, float 0x400A666660000000, float 0x40119999A0000000, float 0x40159999A0000000, float 0.5, float 0x3FE3333340000000, float 0x3FE6666660000000, float 0x3FE99999A0000000>
8   %m = bitcast <8 x float> %i to <4 x i64>
9   %z = load <4 x i64>, <4 x i64>* %y
10   %n = mul <4 x i64> %z, %m
11   %p = bitcast <4 x i64> %n to <8 x float>
12   store <8 x float> %p, <8 x float>* %g
13   ret void