@@ -235,15 +235,23 @@ define void @nearbyint_test(float %0, double %1, <8 x float> %2, <8 x double> %3
235
235
ret void
236
236
}
237
237
; CHECK-LABEL: llvm.func @lround_test
238
- define void @lround_test (float %0 , double %1 ) {
238
+ define void @lround_test (float %0 , double %1 , < 2 x float > %2 , < 2 x double > %3 ) {
239
239
; CHECK: llvm.intr.lround(%{{.*}}) : (f32) -> i32
240
- %3 = call i32 @llvm.lround.i32.f32 (float %0 )
240
+ %5 = call i32 @llvm.lround.i32.f32 (float %0 )
241
241
; CHECK: llvm.intr.lround(%{{.*}}) : (f32) -> i64
242
- %4 = call i64 @llvm.lround.i64.f32 (float %0 )
242
+ %6 = call i64 @llvm.lround.i64.f32 (float %0 )
243
243
; CHECK: llvm.intr.lround(%{{.*}}) : (f64) -> i32
244
- %5 = call i32 @llvm.lround.i32.f64 (double %1 )
244
+ %7 = call i32 @llvm.lround.i32.f64 (double %1 )
245
245
; CHECK: llvm.intr.lround(%{{.*}}) : (f64) -> i64
246
- %6 = call i64 @llvm.lround.i64.f64 (double %1 )
246
+ %8 = call i64 @llvm.lround.i64.f64 (double %1 )
247
+ ; CHECK: llvm.intr.lround(%{{.*}}) : (vector<2xf32>) -> vector<2xi32>
248
+ %9 = call <2 x i32 > @llvm.lround.v2i32.v2f32 (<2 x float > %2 )
249
+ ; CHECK: llvm.intr.lround(%{{.*}}) : (vector<2xf64>) -> vector<2xi32>
250
+ %10 = call <2 x i32 > @llvm.lround.v2i32.v2f64 (<2 x double > %3 )
251
+ ; CHECK: llvm.intr.lround(%{{.*}}) : (vector<2xf32>) -> vector<2xi64>
252
+ %11 = call <2 x i64 > @llvm.lround.v2i64.v2f32 (<2 x float > %2 )
253
+ ; CHECK: llvm.intr.lround(%{{.*}}) : (vector<2xf64>) -> vector<2xi64>
254
+ %12 = call <2 x i64 > @llvm.lround.v2i64.v2f64 (<2 x double > %3 )
247
255
ret void
248
256
}
249
257
; CHECK-LABEL: llvm.func @llround_test
@@ -255,23 +263,35 @@ define void @llround_test(float %0, double %1) {
255
263
ret void
256
264
}
257
265
; CHECK-LABEL: llvm.func @lrint_test
258
- define void @lrint_test (float %0 , double %1 ) {
266
+ define void @lrint_test (float %0 , double %1 , < 2 x float > %2 , < 2 x double > %3 ) {
259
267
; CHECK: llvm.intr.lrint(%{{.*}}) : (f32) -> i32
260
- %3 = call i32 @llvm.lrint.i32.f32 (float %0 )
268
+ %5 = call i32 @llvm.lrint.i32.f32 (float %0 )
261
269
; CHECK: llvm.intr.lrint(%{{.*}}) : (f32) -> i64
262
- %4 = call i64 @llvm.lrint.i64.f32 (float %0 )
270
+ %6 = call i64 @llvm.lrint.i64.f32 (float %0 )
263
271
; CHECK: llvm.intr.lrint(%{{.*}}) : (f64) -> i32
264
- %5 = call i32 @llvm.lrint.i32.f64 (double %1 )
272
+ %7 = call i32 @llvm.lrint.i32.f64 (double %1 )
265
273
; CHECK: llvm.intr.lrint(%{{.*}}) : (f64) -> i64
266
- %6 = call i64 @llvm.lrint.i64.f64 (double %1 )
274
+ %8 = call i64 @llvm.lrint.i64.f64 (double %1 )
275
+ ; CHECK: llvm.intr.lrint(%{{.*}}) : (vector<2xf32>) -> vector<2xi32>
276
+ %9 = call <2 x i32 > @llvm.lrint.v2i32.v2f32 (<2 x float > %2 )
277
+ ; CHECK: llvm.intr.lrint(%{{.*}}) : (vector<2xf64>) -> vector<2xi32>
278
+ %10 = call <2 x i32 > @llvm.lrint.v2i32.v2f64 (<2 x double > %3 )
279
+ ; CHECK: llvm.intr.lrint(%{{.*}}) : (vector<2xf32>) -> vector<2xi64>
280
+ %11 = call <2 x i64 > @llvm.lrint.v2i64.v2f32 (<2 x float > %2 )
281
+ ; CHECK: llvm.intr.lrint(%{{.*}}) : (vector<2xf64>) -> vector<2xi64>
282
+ %12 = call <2 x i64 > @llvm.lrint.v2i64.v2f64 (<2 x double > %3 )
267
283
ret void
268
284
}
269
285
; CHECK-LABEL: llvm.func @llrint_test
270
- define void @llrint_test (float %0 , double %1 ) {
286
+ define void @llrint_test (float %0 , double %1 , < 2 x float > %2 , < 2 x double > %3 ) {
271
287
; CHECK: llvm.intr.llrint(%{{.*}}) : (f32) -> i64
272
- %3 = call i64 @llvm.llrint.i64.f32 (float %0 )
288
+ %5 = call i64 @llvm.llrint.i64.f32 (float %0 )
273
289
; CHECK: llvm.intr.llrint(%{{.*}}) : (f64) -> i64
274
- %4 = call i64 @llvm.llrint.i64.f64 (double %1 )
290
+ %6 = call i64 @llvm.llrint.i64.f64 (double %1 )
291
+ ; CHECK: llvm.intr.llrint(%{{.*}}) : (vector<2xf32>) -> vector<2xi64>
292
+ %7 = call <2 x i64 > @llvm.llrint.v2i64.v2f32 (<2 x float > %2 )
293
+ ; CHECK: llvm.intr.llrint(%{{.*}}) : (vector<2xf64>) -> vector<2xi64>
294
+ %8 = call <2 x i64 > @llvm.llrint.v2i64.v2f64 (<2 x double > %3 )
275
295
ret void
276
296
}
277
297
0 commit comments