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