150
|
1 ; RUN: %lli -force-interpreter=true %s > /dev/null
|
|
2
|
|
3 define i32 @main() {
|
|
4
|
|
5 ; Vector values
|
|
6 %a2_i8 = add <2 x i8> zeroinitializer, <i8 0, i8 1>
|
|
7 %a3_i8 = add <3 x i8> zeroinitializer, <i8 0, i8 1, i8 2>
|
|
8 %a4_i8 = add <4 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3>
|
|
9 %a8_i8 = add <8 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7>
|
|
10 %a16_i8 = add <16 x i8> zeroinitializer, <i8 0, i8 1, i8 2, i8 3, i8 4, i8 5, i8 6, i8 7, i8 8, i8 9, i8 10, i8 11, i8 12, i8 13, i8 14, i8 15>
|
|
11
|
|
12 %a2_i16 = add <2 x i16> zeroinitializer, <i16 0, i16 1>
|
|
13 %a3_i16 = add <3 x i16> zeroinitializer, <i16 0, i16 1, i16 2>
|
|
14 %a4_i16 = add <4 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3>
|
|
15 %a8_i16 = add <8 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7>
|
|
16 %a16_i16 = add <16 x i16> zeroinitializer, <i16 0, i16 1, i16 2, i16 3, i16 4, i16 5, i16 6, i16 7, i16 8, i16 9, i16 10, i16 11, i16 12, i16 13, i16 14, i16 15>
|
|
17
|
|
18 %a2_i32 = add <2 x i32> zeroinitializer, <i32 0, i32 1>
|
|
19 %a3_i32 = add <3 x i32> zeroinitializer, <i32 0, i32 1, i32 2>
|
|
20 %a4_i32 = add <4 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3>
|
|
21 %a8_i32 = add <8 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7>
|
|
22 %a16_i32 = add <16 x i32> zeroinitializer, <i32 0, i32 1, i32 2, i32 3, i32 4, i32 5, i32 6, i32 7, i32 8, i32 9, i32 10, i32 11, i32 12, i32 13, i32 14, i32 15>
|
|
23
|
|
24 %a2_i64 = add <2 x i64> zeroinitializer, <i64 0, i64 1>
|
|
25 %a3_i64 = add <3 x i64> zeroinitializer, <i64 0, i64 1, i64 2>
|
|
26 %a4_i64 = add <4 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3>
|
|
27 %a8_i64 = add <8 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7>
|
|
28 %a16_i64 = add <16 x i64> zeroinitializer, <i64 0, i64 1, i64 2, i64 3, i64 4, i64 5, i64 6, i64 7, i64 8, i64 9, i64 10, i64 11, i64 12, i64 13, i64 14, i64 15>
|
|
29
|
|
30 %a2_float = fadd <2 x float> zeroinitializer, <float 0.0, float 1.0>
|
|
31 %a3_float = fadd <3 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0>
|
|
32 %a4_float = fadd <4 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0>
|
|
33 %a8_float = fadd <8 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0>
|
|
34 %a16_float = fadd <16 x float> zeroinitializer, <float 0.0, float 1.0, float 2.0, float 3.0, float 4.0, float 5.0, float 6.0, float 7.0, float 8.0, float 9.0, float 10.0, float 11.0, float 12.0, float 13.0, float 14.0, float 15.0>
|
|
35
|
|
36 %a2_double = fadd <2 x double> zeroinitializer, <double 0.0, double 1.0>
|
|
37 %a3_double = fadd <3 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0>
|
|
38 %a4_double = fadd <4 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0>
|
|
39 %a8_double = fadd <8 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0>
|
|
40 %a16_double = fadd <16 x double> zeroinitializer, <double 0.0, double 1.0, double 2.0, double 3.0, double 4.0, double 5.0, double 6.0, double 7.0, double 8.0, double 9.0, double 10.0, double 11.0, double 12.0, double 13.0, double 14.0, double 15.0>
|
|
41
|
|
42 %b2_i8 = sub <2 x i8> zeroinitializer, %a2_i8
|
|
43 %b3_i8 = sub <3 x i8> zeroinitializer, %a3_i8
|
|
44 %b4_i8 = sub <4 x i8> zeroinitializer, %a4_i8
|
|
45 %b8_i8 = sub <8 x i8> zeroinitializer, %a8_i8
|
|
46 %b16_i8 = sub <16 x i8> zeroinitializer, %a16_i8
|
|
47
|
|
48 %b2_i16 = sub <2 x i16> zeroinitializer, %a2_i16
|
|
49 %b3_i16 = sub <3 x i16> zeroinitializer, %a3_i16
|
|
50 %b4_i16 = sub <4 x i16> zeroinitializer, %a4_i16
|
|
51 %b8_i16 = sub <8 x i16> zeroinitializer, %a8_i16
|
|
52 %b16_i16 = sub <16 x i16> zeroinitializer, %a16_i16
|
|
53
|
|
54 %b2_i32 = sub <2 x i32> zeroinitializer, %a2_i32
|
|
55 %b3_i32 = sub <3 x i32> zeroinitializer, %a3_i32
|
|
56 %b4_i32 = sub <4 x i32> zeroinitializer, %a4_i32
|
|
57 %b8_i32 = sub <8 x i32> zeroinitializer, %a8_i32
|
|
58 %b16_i32 = sub <16 x i32> zeroinitializer, %a16_i32
|
|
59
|
|
60 %b2_i64 = sub <2 x i64> zeroinitializer, %a2_i64
|
|
61 %b3_i64 = sub <3 x i64> zeroinitializer, %a3_i64
|
|
62 %b4_i64 = sub <4 x i64> zeroinitializer, %a4_i64
|
|
63 %b8_i64 = sub <8 x i64> zeroinitializer, %a8_i64
|
|
64 %b16_i64 = sub <16 x i64> zeroinitializer, %a16_i64
|
|
65
|
|
66 %b2_float = fsub <2 x float> zeroinitializer, %a2_float
|
|
67 %b3_float = fsub <3 x float> zeroinitializer, %a3_float
|
|
68 %b4_float = fsub <4 x float> zeroinitializer, %a4_float
|
|
69 %b8_float = fsub <8 x float> zeroinitializer, %a8_float
|
|
70 %b16_float = fsub <16 x float> zeroinitializer, %a16_float
|
|
71
|
|
72 %b2_double = fsub <2 x double> zeroinitializer, %a2_double
|
|
73 %b3_double = fsub <3 x double> zeroinitializer, %a3_double
|
|
74 %b4_double = fsub <4 x double> zeroinitializer, %a4_double
|
|
75 %b8_double = fsub <8 x double> zeroinitializer, %a8_double
|
|
76 %b16_double = fsub <16 x double> zeroinitializer, %a16_double
|
|
77
|
|
78
|
|
79
|
|
80 %v0 = select <2 x i1> <i1 true, i1 false>, <2 x i8> %a2_i8, <2 x i8> %b2_i8
|
|
81 %v1 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i8> %a3_i8, <3 x i8> %b3_i8
|
|
82 %v2 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i8> %a4_i8, <4 x i8> %b4_i8
|
|
83 %v3 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i8> %a8_i8, <8 x i8> %b8_i8
|
|
84 %v4 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i8> %a16_i8, <16 x i8> %b16_i8
|
|
85
|
|
86 %v5 = select <2 x i1> <i1 true, i1 false>, <2 x i16> %a2_i16, <2 x i16> %b2_i16
|
|
87 %v6 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i16> %a3_i16, <3 x i16> %b3_i16
|
|
88 %v7 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i16> %a4_i16, <4 x i16> %b4_i16
|
|
89 %v8 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i16> %a8_i16, <8 x i16> %b8_i16
|
|
90 %v9 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i16> %a16_i16, <16 x i16> %b16_i16
|
|
91
|
|
92 %v10 = select <2 x i1> <i1 true, i1 false>, <2 x i32> %a2_i32, <2 x i32> %b2_i32
|
|
93 %v11 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i32> %a3_i32, <3 x i32> %b3_i32
|
|
94 %v12 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i32> %a4_i32, <4 x i32> %b4_i32
|
|
95 %v13 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i32> %a8_i32, <8 x i32> %b8_i32
|
|
96 %v14 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i32> %a16_i32, <16 x i32> %b16_i32
|
|
97
|
|
98 %v15 = select <2 x i1> <i1 true, i1 false>, <2 x i64> %a2_i64, <2 x i64> %b2_i64
|
|
99 %v16 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x i64> %a3_i64, <3 x i64> %b3_i64
|
|
100 %v17 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x i64> %a4_i64, <4 x i64> %b4_i64
|
|
101 %v18 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x i64> %a8_i64, <8 x i64> %b8_i64
|
|
102 %v19 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x i64> %a16_i64, <16 x i64> %b16_i64
|
|
103
|
|
104 %v20 = select <2 x i1> <i1 true, i1 false>, <2 x float> %a2_float, <2 x float> %b2_float
|
|
105 %v21 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x float> %a3_float, <3 x float> %b3_float
|
|
106 %v22 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x float> %a4_float, <4 x float> %b4_float
|
|
107 %v23 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x float> %a8_float, <8 x float> %b8_float
|
|
108 %v24 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x float> %a16_float, <16 x float> %b16_float
|
|
109
|
|
110 %v25 = select <2 x i1> <i1 true, i1 false>, <2 x double> %a2_double, <2 x double> %b2_double
|
|
111 %v26 = select <3 x i1> <i1 true, i1 false, i1 true>, <3 x double> %a3_double, <3 x double> %b3_double
|
|
112 %v27 = select <4 x i1> <i1 true, i1 false, i1 true, i1 false>, <4 x double> %a4_double, <4 x double> %b4_double
|
|
113 %v28 = select <8 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <8 x double> %a8_double, <8 x double> %b8_double
|
|
114 %v29 = select <16 x i1> <i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false, i1 true, i1 false>, <16 x double> %a16_double, <16 x double> %b16_double
|
|
115
|
|
116
|
|
117 ret i32 0
|
|
118 }
|