xref: /aosp_15_r20/external/llvm/test/CodeGen/ARM/illegal-vector-bitcast.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-eabi %s -o /dev/null
2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=arm-linux %s -o /dev/null
3*9880d681SAndroid Build Coastguard Worker
4*9880d681SAndroid Build Coastguard Workerdefine void @foo(<8 x float>* %f, <8 x float>* %g, <4 x i64>* %y)
5*9880d681SAndroid Build Coastguard Worker{
6*9880d681SAndroid Build Coastguard Worker  %h = load <8 x float>, <8 x float>* %f
7*9880d681SAndroid Build Coastguard Worker  %i = fmul <8 x float> %h, <float 0x3FF19999A0000000, float 0x400A666660000000, float 0x40119999A0000000, float 0x40159999A0000000, float 0.5, float 0x3FE3333340000000, float 0x3FE6666660000000, float 0x3FE99999A0000000>
8*9880d681SAndroid Build Coastguard Worker  %m = bitcast <8 x float> %i to <4 x i64>
9*9880d681SAndroid Build Coastguard Worker  %z = load <4 x i64>, <4 x i64>* %y
10*9880d681SAndroid Build Coastguard Worker  %n = mul <4 x i64> %z, %m
11*9880d681SAndroid Build Coastguard Worker  %p = bitcast <4 x i64> %n to <8 x float>
12*9880d681SAndroid Build Coastguard Worker  store <8 x float> %p, <8 x float>* %g
13*9880d681SAndroid Build Coastguard Worker  ret void
14*9880d681SAndroid Build Coastguard Worker}
15