xref: /llvm-project/llvm/test/CodeGen/ARM/illegal-vector-bitcast.ll (revision bed1c7f061aa12417aa081e334afdba45767b938)
1; RUN: llc -mtriple=arm-eabi %s -o /dev/null
2; RUN: llc -mtriple=arm-linux %s -o /dev/null
3
4define void @foo(ptr %f, ptr %g, ptr %y)
5{
6  %h = load <8 x float>, ptr %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>, ptr %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, ptr %g
13  ret void
14}
15