@@ -10,7 +10,7 @@ declare double @llvm.amdgcn.rcp.f64(double) nounwind readnone
10
10
11
11
define float @test_constant_fold_rcp_f32_undef () nounwind {
12
12
; CHECK-LABEL: @test_constant_fold_rcp_f32_undef(
13
- ; CHECK-NEXT: ret float undef
13
+ ; CHECK-NEXT: ret float 0x7FF8000000000000
14
14
;
15
15
%val = call float @llvm.amdgcn.rcp.f32 (float undef ) nounwind readnone
16
16
ret float %val
@@ -50,22 +50,29 @@ define double @test_constant_fold_rcp_f64_half() nounwind {
50
50
51
51
define float @test_constant_fold_rcp_f32_43 () nounwind {
52
52
; CHECK-LABEL: @test_constant_fold_rcp_f32_43(
53
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.rcp.f32(float 4.300000e+01)
54
- ; CHECK-NEXT: ret float [[VAL]]
53
+ ; CHECK-NEXT: ret float 0x3F97D05F40000000
55
54
;
56
55
%val = call float @llvm.amdgcn.rcp.f32 (float 4 .300000e+01 ) nounwind readnone
57
56
ret float %val
58
57
}
59
58
60
59
define double @test_constant_fold_rcp_f64_43 () nounwind {
61
60
; CHECK-LABEL: @test_constant_fold_rcp_f64_43(
62
- ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.rcp.f64(double 4.300000e+01)
63
- ; CHECK-NEXT: ret double [[VAL]]
61
+ ; CHECK-NEXT: ret double 0x3F97D05F417D05F4
64
62
;
65
63
%val = call double @llvm.amdgcn.rcp.f64 (double 4 .300000e+01 ) nounwind readnone
66
64
ret double %val
67
65
}
68
66
67
+ define float @test_constant_fold_rcp_f32_43_strictfp () nounwind strictfp {
68
+ ; CHECK-LABEL: @test_constant_fold_rcp_f32_43_strictfp(
69
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.rcp.f32(float 4.300000e+01) #7
70
+ ; CHECK-NEXT: ret float [[VAL]]
71
+ ;
72
+ %val = call float @llvm.amdgcn.rcp.f32 (float 4 .300000e+01 ) strictfp nounwind readnone
73
+ ret float %val
74
+ }
75
+
69
76
; --------------------------------------------------------------------
70
77
; llvm.amdgcn.rsq
71
78
; --------------------------------------------------------------------
@@ -74,7 +81,7 @@ declare float @llvm.amdgcn.rsq.f32(float) nounwind readnone
74
81
75
82
define float @test_constant_fold_rsq_f32_undef () nounwind {
76
83
; CHECK-LABEL: @test_constant_fold_rsq_f32_undef(
77
- ; CHECK-NEXT: ret float undef
84
+ ; CHECK-NEXT: ret float 0x7FF8000000000000
78
85
;
79
86
%val = call float @llvm.amdgcn.rsq.f32 (float undef ) nounwind readnone
80
87
ret float %val
@@ -2387,8 +2394,8 @@ declare i32 @llvm.amdgcn.ballot.i32(i1) nounwind readnone convergent
2387
2394
2388
2395
define i64 @ballot_nocombine_64 (i1 %i ) {
2389
2396
; CHECK-LABEL: @ballot_nocombine_64(
2390
- ; CHECK-NEXT: %b = call i64 @llvm.amdgcn.ballot.i64(i1 %i )
2391
- ; CHECK-NEXT: ret i64 %b
2397
+ ; CHECK-NEXT: [[B:%.*]] = call i64 @llvm.amdgcn.ballot.i64(i1 [[I:%.*]] )
2398
+ ; CHECK-NEXT: ret i64 [[B]]
2392
2399
;
2393
2400
%b = call i64 @llvm.amdgcn.ballot.i64 (i1 %i )
2394
2401
ret i64 %b
@@ -2413,8 +2420,8 @@ define i64 @ballot_one_64() {
2413
2420
2414
2421
define i32 @ballot_nocombine_32 (i1 %i ) {
2415
2422
; CHECK-LABEL: @ballot_nocombine_32(
2416
- ; CHECK-NEXT: %b = call i32 @llvm.amdgcn.ballot.i32(i1 %i )
2417
- ; CHECK-NEXT: ret i32 %b
2423
+ ; CHECK-NEXT: [[B:%.*]] = call i32 @llvm.amdgcn.ballot.i32(i1 [[I:%.*]] )
2424
+ ; CHECK-NEXT: ret i32 [[B]]
2418
2425
;
2419
2426
%b = call i32 @llvm.amdgcn.ballot.i32 (i1 %i )
2420
2427
ret i32 %b
0 commit comments