@@ -25,6 +25,8 @@ uint8x8_t test_vset_lane_u8(uint8_t a, uint8x8_t b) {
25
25
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s8i x 8>
26
26
27
27
// LLVM: define dso_local <8 x i8> @test_vset_lane_u8(i8 [[A:%.*]], <8 x i8> [[B:%.*]])
28
+ // LLVM: alloca <8 x i8>
29
+ // LLVM: alloca <8 x i8>
28
30
// LLVM: [[A_ADR:%.*]] = alloca i8, i64 1, align 1
29
31
// LLVM: [[B_ADR:%.*]] = alloca <8 x i8>, i64 1, align 8
30
32
// LLVM: store i8 [[A]], ptr [[A_ADR]], align 1
@@ -47,6 +49,8 @@ uint16x4_t test_vset_lane_u16(uint16_t a, uint16x4_t b) {
47
49
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s16i x 4>
48
50
49
51
// LLVM: define dso_local <4 x i16> @test_vset_lane_u16(i16 [[A:%.*]], <4 x i16> [[B:%.*]])
52
+ // LLVM: alloca <4 x i16>
53
+ // LLVM: alloca <4 x i16>
50
54
// LLVM: [[A_ADR:%.*]] = alloca i16, i64 1, align 2
51
55
// LLVM: [[B_ADR:%.*]] = alloca <4 x i16>, i64 1, align 8
52
56
// LLVM: store i16 [[A]], ptr [[A_ADR]], align 2
@@ -69,6 +73,8 @@ uint32x2_t test_vset_lane_u32(uint32_t a, uint32x2_t b) {
69
73
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s32i x 2>
70
74
71
75
// LLVM: define dso_local <2 x i32> @test_vset_lane_u32(i32 [[A:%.*]], <2 x i32> [[B:%.*]])
76
+ // LLVM: alloca <2 x i32>
77
+ // LLVM: alloca <2 x i32>
72
78
// LLVM: [[A_ADR:%.*]] = alloca i32, i64 1, align 4
73
79
// LLVM: [[B_ADR:%.*]] = alloca <2 x i32>, i64 1, align 8
74
80
// LLVM: store i32 [[A]], ptr [[A_ADR]], align 4
@@ -92,6 +98,8 @@ int64x1_t test_vset_lane_u64(int64_t a, int64x1_t b) {
92
98
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s64i x 1>
93
99
94
100
// LLVM: define dso_local <1 x i64> @test_vset_lane_u64(i64 [[A:%.*]], <1 x i64> [[B:%.*]])
101
+ // LLVM: alloca <1 x i64>
102
+ // LLVM: alloca <1 x i64>
95
103
// LLVM: [[A_ADR:%.*]] = alloca i64, i64 1, align 8
96
104
// LLVM: [[B_ADR:%.*]] = alloca <1 x i64>, i64 1, align 8
97
105
// LLVM: store i64 [[A]], ptr [[A_ADR]], align 8
@@ -114,6 +122,8 @@ float32x2_t test_vset_lane_f32(float32_t a, float32x2_t b) {
114
122
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!cir.float x 2>
115
123
116
124
// LLVM: define dso_local <2 x float> @test_vset_lane_f32(float [[A:%.*]], <2 x float> [[B:%.*]])
125
+ // LLVM: alloca <2 x float>
126
+ // LLVM: alloca <2 x float>
117
127
// LLVM: [[A_ADR:%.*]] = alloca float, i64 1, align 4
118
128
// LLVM: [[B_ADR:%.*]] = alloca <2 x float>, i64 1, align 8
119
129
// LLVM: store float [[A]], ptr [[A_ADR]], align 4
@@ -136,6 +146,8 @@ uint8x16_t test_vsetq_lane_u8(uint8_t a, uint8x16_t b) {
136
146
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s8i x 16>
137
147
138
148
// LLVM: define dso_local <16 x i8> @test_vsetq_lane_u8(i8 [[A:%.*]], <16 x i8> [[B:%.*]])
149
+ // LLVM: alloca <16 x i8>
150
+ // LLVM: alloca <16 x i8>
139
151
// LLVM: [[A_ADR:%.*]] = alloca i8, i64 1, align 1
140
152
// LLVM: [[B_ADR:%.*]] = alloca <16 x i8>, i64 1, align 16
141
153
// LLVM: store i8 [[A]], ptr [[A_ADR]], align 1
@@ -158,6 +170,8 @@ uint16x8_t test_vsetq_lane_u16(uint16_t a, uint16x8_t b) {
158
170
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s16i x 8>
159
171
160
172
// LLVM: define dso_local <8 x i16> @test_vsetq_lane_u16(i16 [[A:%.*]], <8 x i16> [[B:%.*]])
173
+ // LLVM: alloca <8 x i16>
174
+ // LLVM: alloca <8 x i16>
161
175
// LLVM: [[A_ADR:%.*]] = alloca i16, i64 1, align 2
162
176
// LLVM: [[B_ADR:%.*]] = alloca <8 x i16>, i64 1, align 16
163
177
// LLVM: store i16 [[A]], ptr [[A_ADR]], align 2
@@ -180,6 +194,8 @@ uint32x4_t test_vsetq_lane_u32(uint32_t a, uint32x4_t b) {
180
194
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s32i x 4>
181
195
182
196
// LLVM: define dso_local <4 x i32> @test_vsetq_lane_u32(i32 [[A:%.*]], <4 x i32> [[B:%.*]])
197
+ // LLVM: alloca <4 x i32>
198
+ // LLVM: alloca <4 x i32>
183
199
// LLVM: [[A_ADR:%.*]] = alloca i32, i64 1, align 4
184
200
// LLVM: [[B_ADR:%.*]] = alloca <4 x i32>, i64 1, align 16
185
201
// LLVM: store i32 [[A]], ptr [[A_ADR]], align 4
@@ -202,6 +218,8 @@ int64x2_t test_vsetq_lane_s64(int64_t a, int64x2_t b) {
202
218
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!s64i x 2>
203
219
204
220
// LLVM: define dso_local <2 x i64> @test_vsetq_lane_s64(i64 [[A:%.*]], <2 x i64> [[B:%.*]])
221
+ // LLVM: alloca <2 x i64>
222
+ // LLVM: alloca <2 x i64>
205
223
// LLVM: [[A_ADR:%.*]] = alloca i64, i64 1, align 8
206
224
// LLVM: [[B_ADR:%.*]] = alloca <2 x i64>, i64 1, align 16
207
225
// LLVM: store i64 [[A]], ptr [[A_ADR]], align 8
@@ -224,6 +242,8 @@ float32x4_t test_vsetq_lane_f32(float32_t a, float32x4_t b) {
224
242
// CIR: {{%.*}} = cir.vec.insert {{%.*}}, {{%.*}}[[[IDX]] : !s32i] : !cir.vector<!cir.float x 4>
225
243
226
244
// LLVM: define dso_local <4 x float> @test_vsetq_lane_f32(float [[A:%.*]], <4 x float> [[B:%.*]])
245
+ // LLVM: alloca <4 x float>
246
+ // LLVM: alloca <4 x float>
227
247
// LLVM: [[A_ADR:%.*]] = alloca float, i64 1, align 4
228
248
// LLVM: [[B_ADR:%.*]] = alloca <4 x float>, i64 1, align 16
229
249
// LLVM: store float [[A]], ptr [[A_ADR]], align 4
0 commit comments