@@ -66,7 +66,7 @@ define double @test_constant_fold_rcp_f64_43() nounwind {
66
66
67
67
define float @test_constant_fold_rcp_f32_43_strictfp () nounwind strictfp {
68
68
; CHECK-LABEL: @test_constant_fold_rcp_f32_43_strictfp(
69
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.rcp.f32(float 4.300000e+01) #[[ATTR14 :[0-9]+]]
69
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.rcp.f32(float 4.300000e+01) #[[ATTR17 :[0-9]+]]
70
70
; CHECK-NEXT: ret float [[VAL]]
71
71
;
72
72
%val = call float @llvm.amdgcn.rcp.f32 (float 4 .300000e+01 ) strictfp nounwind readnone
@@ -115,7 +115,7 @@ define half @test_constant_fold_sqrt_f16_0() nounwind {
115
115
116
116
define float @test_constant_fold_sqrt_f32_0 () nounwind {
117
117
; CHECK-LABEL: @test_constant_fold_sqrt_f32_0(
118
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.sqrt.f32(float 0.000000e+00) #[[ATTR15 :[0-9]+]]
118
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.sqrt.f32(float 0.000000e+00) #[[ATTR18 :[0-9]+]]
119
119
; CHECK-NEXT: ret float [[VAL]]
120
120
;
121
121
%val = call float @llvm.amdgcn.sqrt.f32 (float 0 .0 ) nounwind readnone
@@ -124,7 +124,7 @@ define float @test_constant_fold_sqrt_f32_0() nounwind {
124
124
125
125
define double @test_constant_fold_sqrt_f64_0 () nounwind {
126
126
; CHECK-LABEL: @test_constant_fold_sqrt_f64_0(
127
- ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.sqrt.f64(double 0.000000e+00) #[[ATTR15 ]]
127
+ ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.sqrt.f64(double 0.000000e+00) #[[ATTR18 ]]
128
128
; CHECK-NEXT: ret double [[VAL]]
129
129
;
130
130
%val = call double @llvm.amdgcn.sqrt.f64 (double 0 .0 ) nounwind readnone
@@ -141,7 +141,7 @@ define half @test_constant_fold_sqrt_f16_neg0() nounwind {
141
141
142
142
define float @test_constant_fold_sqrt_f32_neg0 () nounwind {
143
143
; CHECK-LABEL: @test_constant_fold_sqrt_f32_neg0(
144
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.sqrt.f32(float -0.000000e+00) #[[ATTR15 ]]
144
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.sqrt.f32(float -0.000000e+00) #[[ATTR18 ]]
145
145
; CHECK-NEXT: ret float [[VAL]]
146
146
;
147
147
%val = call float @llvm.amdgcn.sqrt.f32 (float -0 .0 ) nounwind readnone
@@ -150,7 +150,7 @@ define float @test_constant_fold_sqrt_f32_neg0() nounwind {
150
150
151
151
define double @test_constant_fold_sqrt_f64_neg0 () nounwind {
152
152
; CHECK-LABEL: @test_constant_fold_sqrt_f64_neg0(
153
- ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.sqrt.f64(double -0.000000e+00) #[[ATTR15 ]]
153
+ ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.sqrt.f64(double -0.000000e+00) #[[ATTR18 ]]
154
154
; CHECK-NEXT: ret double [[VAL]]
155
155
;
156
156
%val = call double @llvm.amdgcn.sqrt.f64 (double -0 .0 ) nounwind readnone
@@ -718,7 +718,7 @@ define i1 @test_class_isnan_f32(float %x) nounwind {
718
718
719
719
define i1 @test_class_isnan_f32_strict (float %x ) nounwind strictfp {
720
720
; CHECK-LABEL: @test_class_isnan_f32_strict(
721
- ; CHECK-NEXT: [[VAL:%.*]] = call i1 @llvm.is.fpclass.f32(float [[X:%.*]], i32 3) #[[ATTR16 :[0-9]+]]
721
+ ; CHECK-NEXT: [[VAL:%.*]] = call i1 @llvm.is.fpclass.f32(float [[X:%.*]], i32 3) #[[ATTR19 :[0-9]+]]
722
722
; CHECK-NEXT: ret i1 [[VAL]]
723
723
;
724
724
%val = call i1 @llvm.amdgcn.class.f32 (float %x , i32 3 ) strictfp
@@ -736,7 +736,7 @@ define i1 @test_class_is_p0_n0_f32(float %x) nounwind {
736
736
737
737
define i1 @test_class_is_p0_n0_f32_strict (float %x ) nounwind strictfp {
738
738
; CHECK-LABEL: @test_class_is_p0_n0_f32_strict(
739
- ; CHECK-NEXT: [[VAL:%.*]] = call i1 @llvm.is.fpclass.f32(float [[X:%.*]], i32 96) #[[ATTR16 ]]
739
+ ; CHECK-NEXT: [[VAL:%.*]] = call i1 @llvm.is.fpclass.f32(float [[X:%.*]], i32 96) #[[ATTR19 ]]
740
740
; CHECK-NEXT: ret i1 [[VAL]]
741
741
;
742
742
%val = call i1 @llvm.amdgcn.class.f32 (float %x , i32 96 ) strictfp
@@ -2000,7 +2000,7 @@ define i64 @icmp_constant_inputs_false() {
2000
2000
2001
2001
define i64 @icmp_constant_inputs_true () {
2002
2002
; CHECK-LABEL: @icmp_constant_inputs_true(
2003
- ; CHECK-NEXT: [[RESULT:%.*]] = call i64 @llvm.read_register.i64(metadata [[META0:![0-9]+]]) #[[ATTR17 :[0-9]+]]
2003
+ ; CHECK-NEXT: [[RESULT:%.*]] = call i64 @llvm.read_register.i64(metadata [[META0:![0-9]+]]) #[[ATTR20 :[0-9]+]]
2004
2004
; CHECK-NEXT: ret i64 [[RESULT]]
2005
2005
;
2006
2006
%result = call i64 @llvm.amdgcn.icmp.i64.i32 (i32 9 , i32 8 , i32 34 )
@@ -2707,7 +2707,7 @@ define i64 @fcmp_constant_inputs_false() {
2707
2707
2708
2708
define i64 @fcmp_constant_inputs_true () {
2709
2709
; CHECK-LABEL: @fcmp_constant_inputs_true(
2710
- ; CHECK-NEXT: [[RESULT:%.*]] = call i64 @llvm.read_register.i64(metadata [[META0]]) #[[ATTR17 ]]
2710
+ ; CHECK-NEXT: [[RESULT:%.*]] = call i64 @llvm.read_register.i64(metadata [[META0]]) #[[ATTR20 ]]
2711
2711
; CHECK-NEXT: ret i64 [[RESULT]]
2712
2712
;
2713
2713
%result = call i64 @llvm.amdgcn.fcmp.i64.f32 (float 2 .0 , float 4 .0 , i32 4 )
@@ -5845,7 +5845,7 @@ define double @trig_preop_constfold_neg32_segment() {
5845
5845
5846
5846
define double @trig_preop_constfold_strictfp () strictfp {
5847
5847
; CHECK-LABEL: @trig_preop_constfold_strictfp(
5848
- ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.trig.preop.f64(double 3.454350e+02, i32 5) #[[ATTR16 ]]
5848
+ ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.trig.preop.f64(double 3.454350e+02, i32 5) #[[ATTR19 ]]
5849
5849
; CHECK-NEXT: ret double [[VAL]]
5850
5850
;
5851
5851
%val = call double @llvm.amdgcn.trig.preop.f64 (double 3 .454350e+02 , i32 5 ) strictfp
@@ -6214,7 +6214,7 @@ define half @test_constant_fold_log_f16_neg10() {
6214
6214
6215
6215
define float @test_constant_fold_log_f32_qnan_strictfp () strictfp {
6216
6216
; CHECK-LABEL: @test_constant_fold_log_f32_qnan_strictfp(
6217
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0x7FF8000000000000) #[[ATTR16 ]]
6217
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0x7FF8000000000000) #[[ATTR19 ]]
6218
6218
; CHECK-NEXT: ret float [[VAL]]
6219
6219
;
6220
6220
%val = call float @llvm.amdgcn.log.f32 (float 0x7FF8000000000000 ) strictfp
@@ -6223,7 +6223,7 @@ define float @test_constant_fold_log_f32_qnan_strictfp() strictfp {
6223
6223
6224
6224
define float @test_constant_fold_log_f32_0_strictfp () strictfp {
6225
6225
; CHECK-LABEL: @test_constant_fold_log_f32_0_strictfp(
6226
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0.000000e+00) #[[ATTR16 ]]
6226
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0.000000e+00) #[[ATTR19 ]]
6227
6227
; CHECK-NEXT: ret float [[VAL]]
6228
6228
;
6229
6229
%val = call float @llvm.amdgcn.log.f32 (float 0 .0 ) strictfp
@@ -6232,7 +6232,7 @@ define float @test_constant_fold_log_f32_0_strictfp() strictfp {
6232
6232
6233
6233
define float @test_constant_fold_log_f32_neg0_strictfp () strictfp {
6234
6234
; CHECK-LABEL: @test_constant_fold_log_f32_neg0_strictfp(
6235
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -0.000000e+00) #[[ATTR16 ]]
6235
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -0.000000e+00) #[[ATTR19 ]]
6236
6236
; CHECK-NEXT: ret float [[VAL]]
6237
6237
;
6238
6238
%val = call float @llvm.amdgcn.log.f32 (float -0 .0 ) strictfp
@@ -6241,7 +6241,7 @@ define float @test_constant_fold_log_f32_neg0_strictfp() strictfp {
6241
6241
6242
6242
define float @test_constant_fold_log_f32_neg_strictfp () strictfp {
6243
6243
; CHECK-LABEL: @test_constant_fold_log_f32_neg_strictfp(
6244
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -1.000000e+01) #[[ATTR16 ]]
6244
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -1.000000e+01) #[[ATTR19 ]]
6245
6245
; CHECK-NEXT: ret float [[VAL]]
6246
6246
;
6247
6247
%val = call float @llvm.amdgcn.log.f32 (float -10 .0 ) strictfp
@@ -6258,7 +6258,7 @@ define float @test_constant_fold_log_f32_pinf_strictfp() strictfp {
6258
6258
6259
6259
define float @test_constant_fold_log_f32_ninf_strictfp () strictfp {
6260
6260
; CHECK-LABEL: @test_constant_fold_log_f32_ninf_strictfp(
6261
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0xFFF0000000000000) #[[ATTR16 ]]
6261
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0xFFF0000000000000) #[[ATTR19 ]]
6262
6262
; CHECK-NEXT: ret float [[VAL]]
6263
6263
;
6264
6264
%val = call float @llvm.amdgcn.log.f32 (float 0xFFF0000000000000 ) strictfp
@@ -6460,7 +6460,7 @@ define half @test_constant_fold_exp2_f16_neg10() {
6460
6460
6461
6461
define float @test_constant_fold_exp2_f32_qnan_strictfp () strictfp {
6462
6462
; CHECK-LABEL: @test_constant_fold_exp2_f32_qnan_strictfp(
6463
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0x7FF8000000000000) #[[ATTR16 ]]
6463
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0x7FF8000000000000) #[[ATTR19 ]]
6464
6464
; CHECK-NEXT: ret float [[VAL]]
6465
6465
;
6466
6466
%val = call float @llvm.amdgcn.exp2.f32 (float 0x7FF8000000000000 ) strictfp
@@ -6469,7 +6469,7 @@ define float @test_constant_fold_exp2_f32_qnan_strictfp() strictfp {
6469
6469
6470
6470
define float @test_constant_fold_exp2_f32_0_strictfp () strictfp {
6471
6471
; CHECK-LABEL: @test_constant_fold_exp2_f32_0_strictfp(
6472
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0.000000e+00) #[[ATTR16 ]]
6472
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0.000000e+00) #[[ATTR19 ]]
6473
6473
; CHECK-NEXT: ret float [[VAL]]
6474
6474
;
6475
6475
%val = call float @llvm.amdgcn.exp2.f32 (float 0 .0 ) strictfp
@@ -6478,7 +6478,7 @@ define float @test_constant_fold_exp2_f32_0_strictfp() strictfp {
6478
6478
6479
6479
define float @test_constant_fold_exp2_f32_neg0_strictfp () strictfp {
6480
6480
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg0_strictfp(
6481
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -0.000000e+00) #[[ATTR16 ]]
6481
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -0.000000e+00) #[[ATTR19 ]]
6482
6482
; CHECK-NEXT: ret float [[VAL]]
6483
6483
;
6484
6484
%val = call float @llvm.amdgcn.exp2.f32 (float -0 .0 ) strictfp
@@ -6487,7 +6487,7 @@ define float @test_constant_fold_exp2_f32_neg0_strictfp() strictfp {
6487
6487
6488
6488
define float @test_constant_fold_exp2_f32_1_strictfp () strictfp {
6489
6489
; CHECK-LABEL: @test_constant_fold_exp2_f32_1_strictfp(
6490
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 1.000000e+00) #[[ATTR16 ]]
6490
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 1.000000e+00) #[[ATTR19 ]]
6491
6491
; CHECK-NEXT: ret float [[VAL]]
6492
6492
;
6493
6493
%val = call float @llvm.amdgcn.exp2.f32 (float 1 .0 ) strictfp
@@ -6496,7 +6496,7 @@ define float @test_constant_fold_exp2_f32_1_strictfp() strictfp {
6496
6496
6497
6497
define float @test_constant_fold_exp2_f32_neg1_strictfp () strictfp {
6498
6498
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg1_strictfp(
6499
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+00) #[[ATTR16 ]]
6499
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+00) #[[ATTR19 ]]
6500
6500
; CHECK-NEXT: ret float [[VAL]]
6501
6501
;
6502
6502
%val = call float @llvm.amdgcn.exp2.f32 (float -1 .0 ) strictfp
@@ -6505,7 +6505,7 @@ define float @test_constant_fold_exp2_f32_neg1_strictfp() strictfp {
6505
6505
6506
6506
define float @test_constant_fold_exp2_f32_2_strictfp () strictfp {
6507
6507
; CHECK-LABEL: @test_constant_fold_exp2_f32_2_strictfp(
6508
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 2.000000e+00) #[[ATTR16 ]]
6508
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 2.000000e+00) #[[ATTR19 ]]
6509
6509
; CHECK-NEXT: ret float [[VAL]]
6510
6510
;
6511
6511
%val = call float @llvm.amdgcn.exp2.f32 (float 2 .0 ) strictfp
@@ -6514,7 +6514,7 @@ define float @test_constant_fold_exp2_f32_2_strictfp() strictfp {
6514
6514
6515
6515
define float @test_constant_fold_exp2_f32_neg2_strictfp () strictfp {
6516
6516
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg2_strictfp(
6517
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -2.000000e+00) #[[ATTR16 ]]
6517
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -2.000000e+00) #[[ATTR19 ]]
6518
6518
; CHECK-NEXT: ret float [[VAL]]
6519
6519
;
6520
6520
%val = call float @llvm.amdgcn.exp2.f32 (float -2 .0 ) strictfp
@@ -6523,7 +6523,7 @@ define float @test_constant_fold_exp2_f32_neg2_strictfp() strictfp {
6523
6523
6524
6524
define float @test_constant_fold_exp2_f32_neg_strictfp () strictfp {
6525
6525
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg_strictfp(
6526
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+01) #[[ATTR16 ]]
6526
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+01) #[[ATTR19 ]]
6527
6527
; CHECK-NEXT: ret float [[VAL]]
6528
6528
;
6529
6529
%val = call float @llvm.amdgcn.exp2.f32 (float -10 .0 ) strictfp
@@ -6571,13 +6571,15 @@ declare i32 @llvm.amdgcn.prng.b32(i32)
6571
6571
define i32 @prng_undef_i32 () {
6572
6572
; CHECK-LABEL: @prng_undef_i32(
6573
6573
; CHECK-NEXT: ret i32 undef
6574
+ ;
6574
6575
%prng = call i32 @llvm.amdgcn.prng.b32 (i32 undef )
6575
6576
ret i32 %prng
6576
6577
}
6577
6578
6578
6579
define i32 @prng_poison_i32 () {
6579
6580
; CHECK-LABEL: @prng_poison_i32(
6580
6581
; CHECK-NEXT: ret i32 poison
6582
+ ;
6581
6583
%prng = call i32 @llvm.amdgcn.prng.b32 (i32 poison)
6582
6584
ret i32 %prng
6583
6585
}
0 commit comments