xref: /aosp_15_r20/external/llvm/test/ExecutionEngine/test-interp-vec-cast.ll (revision 9880d6810fe72a1726cb53787c6711e909410d58)
1*9880d681SAndroid Build Coastguard Worker; RUN: %lli -force-interpreter=true %s > /dev/null
2*9880d681SAndroid Build Coastguard Worker
3*9880d681SAndroid Build Coastguard Workerdefine i32 @main() {
4*9880d681SAndroid Build Coastguard Worker    zext <2 x i1> <i1 true,i1 true> to <2 x i8>
5*9880d681SAndroid Build Coastguard Worker    zext <3 x i1> <i1 true,i1 true,i1 true> to <3 x i8>
6*9880d681SAndroid Build Coastguard Worker    zext <2 x i1> <i1 true,i1 true> to <2 x i16>
7*9880d681SAndroid Build Coastguard Worker    zext <3 x i1> <i1 true,i1 true,i1 true> to <3 x i16>
8*9880d681SAndroid Build Coastguard Worker    zext <2 x i1> <i1 true,i1 true> to <2 x i32>
9*9880d681SAndroid Build Coastguard Worker    zext <3 x i1> <i1 true,i1 true,i1 true> to <3 x i32>
10*9880d681SAndroid Build Coastguard Worker    zext <2 x i1> <i1 true,i1 true> to <2 x i64>
11*9880d681SAndroid Build Coastguard Worker    zext <3 x i1> <i1 true,i1 true,i1 true> to <3 x i64>
12*9880d681SAndroid Build Coastguard Worker    zext <3 x i8> <i8 4, i8 4, i8 4> to <3 x i16>
13*9880d681SAndroid Build Coastguard Worker    zext <2 x i8> <i8 -4, i8 -4> to <2 x i16>
14*9880d681SAndroid Build Coastguard Worker    zext <3 x i8> <i8 4, i8 4, i8 4> to <3 x i32>
15*9880d681SAndroid Build Coastguard Worker    zext <2 x i8> <i8 -4, i8 -4> to <2 x i32>
16*9880d681SAndroid Build Coastguard Worker    zext <3 x i8> <i8 4, i8 4, i8 4> to <3 x i64>
17*9880d681SAndroid Build Coastguard Worker    zext <2 x i8> <i8 -4, i8 -4> to <2 x i64>
18*9880d681SAndroid Build Coastguard Worker    zext <3 x i16> <i16 4, i16 4, i16 4> to <3 x i32>
19*9880d681SAndroid Build Coastguard Worker    zext <2 x i16> <i16 -4, i16 -4> to <2 x i32>
20*9880d681SAndroid Build Coastguard Worker    zext <3 x i16> <i16 4, i16 4, i16 4> to <3 x i64>
21*9880d681SAndroid Build Coastguard Worker    zext <2 x i16> <i16 -4, i16 -4> to <2 x i64>
22*9880d681SAndroid Build Coastguard Worker    zext <3 x i32> <i32 4, i32 4, i32 4> to <3 x i64>
23*9880d681SAndroid Build Coastguard Worker    zext <2 x i32> <i32 -4, i32 -4> to <2 x i64>
24*9880d681SAndroid Build Coastguard Worker
25*9880d681SAndroid Build Coastguard Worker
26*9880d681SAndroid Build Coastguard Worker    sext <2 x i1> <i1 true,i1 true> to <2 x i8>
27*9880d681SAndroid Build Coastguard Worker    sext <3 x i1> <i1 true,i1 false,i1 true> to <3 x i8>
28*9880d681SAndroid Build Coastguard Worker    sext <2 x i1> <i1 true,i1 true> to <2 x i16>
29*9880d681SAndroid Build Coastguard Worker    sext <3 x i1> <i1 true,i1 false,i1 true> to <3 x i16>
30*9880d681SAndroid Build Coastguard Worker    sext <2 x i1> <i1 true,i1 true> to <2 x i32>
31*9880d681SAndroid Build Coastguard Worker    sext <3 x i1> <i1 true,i1 false,i1 true> to <3 x i32>
32*9880d681SAndroid Build Coastguard Worker    sext <2 x i1> <i1 true,i1 true> to <2 x i64>
33*9880d681SAndroid Build Coastguard Worker    sext <3 x i1> <i1 true,i1 false,i1 true> to <3 x i64>
34*9880d681SAndroid Build Coastguard Worker    sext <3 x i8> <i8 -4, i8 0, i8 4> to <3 x i16>
35*9880d681SAndroid Build Coastguard Worker    sext <2 x i8> <i8 -4, i8 4> to <2 x i16>
36*9880d681SAndroid Build Coastguard Worker    sext <3 x i8> <i8 -4, i8 0, i8 4> to <3 x i32>
37*9880d681SAndroid Build Coastguard Worker    sext <2 x i8> <i8 -4, i8 4> to <2 x i32>
38*9880d681SAndroid Build Coastguard Worker    sext <3 x i8> <i8 -4, i8 0, i8 4> to <3 x i64>
39*9880d681SAndroid Build Coastguard Worker    sext <2 x i8> <i8 -4, i8 4> to <2 x i64>
40*9880d681SAndroid Build Coastguard Worker    sext <3 x i16> <i16 -4, i16 0, i16 4> to <3 x i32>
41*9880d681SAndroid Build Coastguard Worker    sext <2 x i16> <i16 -4, i16 4> to <2 x i32>
42*9880d681SAndroid Build Coastguard Worker    sext <3 x i16> <i16 -4, i16 0, i16 4> to <3 x i64>
43*9880d681SAndroid Build Coastguard Worker    sext <2 x i16> <i16 -4, i16 4> to <2 x i64>
44*9880d681SAndroid Build Coastguard Worker    sext <3 x i32> <i32 -4, i32 0, i32 4> to <3 x i64>
45*9880d681SAndroid Build Coastguard Worker    sext <2 x i32> <i32 -4, i32 4> to <2 x i64>
46*9880d681SAndroid Build Coastguard Worker
47*9880d681SAndroid Build Coastguard Worker
48*9880d681SAndroid Build Coastguard Worker    uitofp <3 x i1> <i1 true,i1 false,i1 true> to <3 x float>
49*9880d681SAndroid Build Coastguard Worker    uitofp <2 x i1> <i1 true,i1 true> to <2 x double>
50*9880d681SAndroid Build Coastguard Worker    uitofp <3 x i8> <i8 -4,i8 0,i8 4> to <3 x float>
51*9880d681SAndroid Build Coastguard Worker    uitofp <2 x i8> <i8 -4,i8 4> to <2 x double>
52*9880d681SAndroid Build Coastguard Worker    uitofp <3 x i16> <i16 -4,i16 0,i16 4> to <3 x float>
53*9880d681SAndroid Build Coastguard Worker    uitofp <2 x i16> <i16 -4,i16 4> to <2 x double>
54*9880d681SAndroid Build Coastguard Worker    uitofp <3 x i32> <i32 -4,i32 0,i32 4> to <3 x float>
55*9880d681SAndroid Build Coastguard Worker    uitofp <2 x i32> <i32 -4,i32 4> to <2 x double>
56*9880d681SAndroid Build Coastguard Worker    uitofp <3 x i64> <i64 -4,i64 0,i64 4> to <3 x float>
57*9880d681SAndroid Build Coastguard Worker    uitofp <2 x i64> <i64 -4,i64 4> to <2 x double>
58*9880d681SAndroid Build Coastguard Worker
59*9880d681SAndroid Build Coastguard Worker
60*9880d681SAndroid Build Coastguard Worker    sitofp <3 x i1> <i1 true,i1 false,i1 true> to <3 x float>
61*9880d681SAndroid Build Coastguard Worker    sitofp <2 x i1> <i1 true,i1 true> to <2 x double>
62*9880d681SAndroid Build Coastguard Worker    sitofp <3 x i8> <i8 -4,i8 0,i8 4> to <3 x float>
63*9880d681SAndroid Build Coastguard Worker    sitofp <2 x i8> <i8 -4,i8 4> to <2 x double>
64*9880d681SAndroid Build Coastguard Worker    sitofp <3 x i16> <i16 -4,i16 0,i16 4> to <3 x float>
65*9880d681SAndroid Build Coastguard Worker    sitofp <2 x i16> <i16 -4,i16 4> to <2 x double>
66*9880d681SAndroid Build Coastguard Worker    sitofp <3 x i32> <i32 -4,i32 0,i32 4> to <3 x float>
67*9880d681SAndroid Build Coastguard Worker    sitofp <2 x i32> <i32 -4,i32 4> to <2 x double>
68*9880d681SAndroid Build Coastguard Worker    sitofp <3 x i64> <i64 -4,i64 0,i64 4> to <3 x float>
69*9880d681SAndroid Build Coastguard Worker    sitofp <2 x i64> <i64 -4,i64 4> to <2 x double>
70*9880d681SAndroid Build Coastguard Worker
71*9880d681SAndroid Build Coastguard Worker    trunc <2 x i16> <i16 -6, i16 6> to <2 x i8>
72*9880d681SAndroid Build Coastguard Worker    trunc <3 x i16> <i16 -6, i16 6, i16 0> to <3 x i8>
73*9880d681SAndroid Build Coastguard Worker    trunc <2 x i32> <i32 -6, i32 6> to <2 x i8>
74*9880d681SAndroid Build Coastguard Worker    trunc <3 x i32> <i32 -6, i32 6, i32 0> to <3 x i8>
75*9880d681SAndroid Build Coastguard Worker    trunc <2 x i32> <i32 -6, i32 6> to <2 x i16>
76*9880d681SAndroid Build Coastguard Worker    trunc <3 x i32> <i32 -6, i32 6, i32 0> to <3 x i16>
77*9880d681SAndroid Build Coastguard Worker    trunc <2 x i64> <i64 -6, i64 6> to <2 x i8>
78*9880d681SAndroid Build Coastguard Worker    trunc <3 x i64> <i64 -6, i64 6, i64 0> to <3 x i8>
79*9880d681SAndroid Build Coastguard Worker    trunc <2 x i64> <i64 -6, i64 6> to <2 x i16>
80*9880d681SAndroid Build Coastguard Worker    trunc <3 x i64> <i64 -6, i64 6, i64 0> to <3 x i16>
81*9880d681SAndroid Build Coastguard Worker    trunc <2 x i64> <i64 -6, i64 6> to <2 x i32>
82*9880d681SAndroid Build Coastguard Worker    trunc <3 x i64> <i64 -6, i64 6, i64 0> to <3 x i32>
83*9880d681SAndroid Build Coastguard Worker
84*9880d681SAndroid Build Coastguard Worker
85*9880d681SAndroid Build Coastguard Worker    fpext <2 x float>  < float 0.000000e+00, float 1.0> to <2 x double>
86*9880d681SAndroid Build Coastguard Worker    fpext <3 x float>  < float 0.000000e+00, float -1.0, float 1.0> to <3 x double>
87*9880d681SAndroid Build Coastguard Worker
88*9880d681SAndroid Build Coastguard Worker    fptosi <2 x double> < double 0.000000e+00, double 1.0> to <2 x i8>
89*9880d681SAndroid Build Coastguard Worker    fptosi <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i8>
90*9880d681SAndroid Build Coastguard Worker    fptosi <2 x double> < double 0.000000e+00, double 1.0> to <2 x i16>
91*9880d681SAndroid Build Coastguard Worker    fptosi <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i16>
92*9880d681SAndroid Build Coastguard Worker    fptosi <2 x double> < double 0.000000e+00, double 1.0> to <2 x i32>
93*9880d681SAndroid Build Coastguard Worker    fptosi <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i32>
94*9880d681SAndroid Build Coastguard Worker    fptosi <2 x double> < double 0.000000e+00, double 1.0> to <2 x i64>
95*9880d681SAndroid Build Coastguard Worker    fptosi <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i64>
96*9880d681SAndroid Build Coastguard Worker
97*9880d681SAndroid Build Coastguard Worker    fptoui <2 x double> < double 0.000000e+00, double 1.0> to <2 x i8>
98*9880d681SAndroid Build Coastguard Worker    fptoui <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i8>
99*9880d681SAndroid Build Coastguard Worker    fptoui <2 x double> < double 0.000000e+00, double 1.0> to <2 x i16>
100*9880d681SAndroid Build Coastguard Worker    fptoui <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i16>
101*9880d681SAndroid Build Coastguard Worker    fptoui <2 x double> < double 0.000000e+00, double 1.0> to <2 x i32>
102*9880d681SAndroid Build Coastguard Worker    fptoui <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i32>
103*9880d681SAndroid Build Coastguard Worker    fptoui <2 x double> < double 0.000000e+00, double 1.0> to <2 x i64>
104*9880d681SAndroid Build Coastguard Worker    fptoui <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x i64>
105*9880d681SAndroid Build Coastguard Worker
106*9880d681SAndroid Build Coastguard Worker    fptrunc <2 x double> < double 0.000000e+00, double 1.0> to <2 x float>
107*9880d681SAndroid Build Coastguard Worker    fptrunc <3 x double> < double 0.000000e+00, double 1.0, double -1.0> to <3 x float>
108*9880d681SAndroid Build Coastguard Worker
109*9880d681SAndroid Build Coastguard Worker    bitcast <8 x i8> <i8 0, i8 -1, i8 2, i8 -3, i8 4, i8 -5, i8 6, i8 -7> to <4 x i16>
110*9880d681SAndroid Build Coastguard Worker    bitcast <8 x i8> <i8 0, i8 -1, i8 2, i8 -3, i8 4, i8 -5, i8 6, i8 -7> to <2 x i32>
111*9880d681SAndroid Build Coastguard Worker    bitcast <8 x i8> <i8 0, i8 -1, i8 2, i8 -3, i8 4, i8 -5, i8 6, i8 -7> to i64
112*9880d681SAndroid Build Coastguard Worker    bitcast <8 x i8> <i8 0, i8 -1, i8 2, i8 -3, i8 4, i8 -5, i8 6, i8 -7> to <2 x float>
113*9880d681SAndroid Build Coastguard Worker    bitcast <8 x i8> <i8 0, i8 -1, i8 2, i8 -3, i8 4, i8 -5, i8 6, i8 -7> to double
114*9880d681SAndroid Build Coastguard Worker
115*9880d681SAndroid Build Coastguard Worker    bitcast <4 x i16> <i16 0, i16 -1, i16 2, i16 -3> to <8 x i8>
116*9880d681SAndroid Build Coastguard Worker    bitcast <4 x i16> <i16 0, i16 -1, i16 2, i16 -3> to <2 x i32>
117*9880d681SAndroid Build Coastguard Worker    bitcast <4 x i16> <i16 0, i16 -1, i16 2, i16 -3> to i64
118*9880d681SAndroid Build Coastguard Worker    bitcast <4 x i16> <i16 0, i16 -1, i16 2, i16 -3> to <2 x float>
119*9880d681SAndroid Build Coastguard Worker    bitcast <4 x i16> <i16 0, i16 -1, i16 2, i16 -3> to double
120*9880d681SAndroid Build Coastguard Worker
121*9880d681SAndroid Build Coastguard Worker    bitcast <2 x i32> <i32 1, i32 -1> to <8 x i8>
122*9880d681SAndroid Build Coastguard Worker    bitcast <2 x i32> <i32 1, i32 -1> to <4 x i16>
123*9880d681SAndroid Build Coastguard Worker    bitcast <2 x i32> <i32 1, i32 -1> to i64
124*9880d681SAndroid Build Coastguard Worker    bitcast <2 x i32> <i32 1, i32 -1> to <2 x float>
125*9880d681SAndroid Build Coastguard Worker    bitcast <2 x i32> <i32 1, i32 -1> to double
126*9880d681SAndroid Build Coastguard Worker
127*9880d681SAndroid Build Coastguard Worker    bitcast i64 1 to <8 x i8>
128*9880d681SAndroid Build Coastguard Worker    bitcast i64 1 to <4 x i16>
129*9880d681SAndroid Build Coastguard Worker    bitcast i64 1 to <2 x i32>
130*9880d681SAndroid Build Coastguard Worker    bitcast i64 1 to <2 x float>
131*9880d681SAndroid Build Coastguard Worker    bitcast i64 1 to double
132*9880d681SAndroid Build Coastguard Worker
133*9880d681SAndroid Build Coastguard Worker    bitcast <2 x float> <float 1.0, float -1.0> to <8 x i8>
134*9880d681SAndroid Build Coastguard Worker    bitcast <2 x float> <float 1.0, float -1.0> to <4 x i16>
135*9880d681SAndroid Build Coastguard Worker    bitcast <2 x float> <float 1.0, float -1.0> to i64
136*9880d681SAndroid Build Coastguard Worker    bitcast <2 x float> <float 1.0, float -1.0> to <2 x i32>
137*9880d681SAndroid Build Coastguard Worker    bitcast <2 x float> <float 1.0, float -1.0> to double
138*9880d681SAndroid Build Coastguard Worker
139*9880d681SAndroid Build Coastguard Worker    bitcast double 1.0 to <8 x i8>
140*9880d681SAndroid Build Coastguard Worker    bitcast double 1.0 to <4 x i16>
141*9880d681SAndroid Build Coastguard Worker    bitcast double 1.0 to <2 x i32>
142*9880d681SAndroid Build Coastguard Worker    bitcast double 1.0 to <2 x float>
143*9880d681SAndroid Build Coastguard Worker    bitcast double 1.0 to i64
144*9880d681SAndroid Build Coastguard Worker
145*9880d681SAndroid Build Coastguard Worker    ret i32 0
146*9880d681SAndroid Build Coastguard Worker}
147