@@ -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) #[[ATTR15 :[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) #[[ATTR16 :[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) #[[ATTR16 ]]
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) #[[ATTR16 ]]
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) #[[ATTR16 ]]
154
154
; CHECK-NEXT: ret double [[VAL]]
155
155
;
156
156
%val = call double @llvm.amdgcn.sqrt.f64 (double -0 .0 ) nounwind readnone
@@ -667,7 +667,7 @@ define i1 @test_class_undef_full_mask_f32() nounwind {
667
667
668
668
define i1 @test_class_undef_val_f32 () nounwind {
669
669
; CHECK-LABEL: @test_class_undef_val_f32(
670
- ; CHECK-NEXT: ret i1 undef
670
+ ; CHECK-NEXT: ret i1 false
671
671
;
672
672
%val = call i1 @llvm.amdgcn.class.f32 (float undef , i32 4 )
673
673
ret i1 %val
@@ -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) #[[ATTR17 :[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) #[[ATTR17 ]]
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]+]]) #[[ATTR18 :[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]]) #[[ATTR18 ]]
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 )
@@ -5829,7 +5829,7 @@ define double @trig_preop_constfold_neg32_segment() {
5829
5829
5830
5830
define double @trig_preop_constfold_strictfp () strictfp {
5831
5831
; CHECK-LABEL: @trig_preop_constfold_strictfp(
5832
- ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.trig.preop.f64(double 3.454350e+02, i32 5) #[[ATTR16 ]]
5832
+ ; CHECK-NEXT: [[VAL:%.*]] = call double @llvm.amdgcn.trig.preop.f64(double 3.454350e+02, i32 5) #[[ATTR17 ]]
5833
5833
; CHECK-NEXT: ret double [[VAL]]
5834
5834
;
5835
5835
%val = call double @llvm.amdgcn.trig.preop.f64 (double 3 .454350e+02 , i32 5 ) strictfp
@@ -6198,7 +6198,7 @@ define half @test_constant_fold_log_f16_neg10() {
6198
6198
6199
6199
define float @test_constant_fold_log_f32_qnan_strictfp () strictfp {
6200
6200
; CHECK-LABEL: @test_constant_fold_log_f32_qnan_strictfp(
6201
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0x7FF8000000000000) #[[ATTR16 ]]
6201
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0x7FF8000000000000) #[[ATTR17 ]]
6202
6202
; CHECK-NEXT: ret float [[VAL]]
6203
6203
;
6204
6204
%val = call float @llvm.amdgcn.log.f32 (float 0x7FF8000000000000 ) strictfp
@@ -6207,7 +6207,7 @@ define float @test_constant_fold_log_f32_qnan_strictfp() strictfp {
6207
6207
6208
6208
define float @test_constant_fold_log_f32_0_strictfp () strictfp {
6209
6209
; CHECK-LABEL: @test_constant_fold_log_f32_0_strictfp(
6210
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0.000000e+00) #[[ATTR16 ]]
6210
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0.000000e+00) #[[ATTR17 ]]
6211
6211
; CHECK-NEXT: ret float [[VAL]]
6212
6212
;
6213
6213
%val = call float @llvm.amdgcn.log.f32 (float 0 .0 ) strictfp
@@ -6216,7 +6216,7 @@ define float @test_constant_fold_log_f32_0_strictfp() strictfp {
6216
6216
6217
6217
define float @test_constant_fold_log_f32_neg0_strictfp () strictfp {
6218
6218
; CHECK-LABEL: @test_constant_fold_log_f32_neg0_strictfp(
6219
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -0.000000e+00) #[[ATTR16 ]]
6219
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -0.000000e+00) #[[ATTR17 ]]
6220
6220
; CHECK-NEXT: ret float [[VAL]]
6221
6221
;
6222
6222
%val = call float @llvm.amdgcn.log.f32 (float -0 .0 ) strictfp
@@ -6225,7 +6225,7 @@ define float @test_constant_fold_log_f32_neg0_strictfp() strictfp {
6225
6225
6226
6226
define float @test_constant_fold_log_f32_neg_strictfp () strictfp {
6227
6227
; CHECK-LABEL: @test_constant_fold_log_f32_neg_strictfp(
6228
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -1.000000e+01) #[[ATTR16 ]]
6228
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float -1.000000e+01) #[[ATTR17 ]]
6229
6229
; CHECK-NEXT: ret float [[VAL]]
6230
6230
;
6231
6231
%val = call float @llvm.amdgcn.log.f32 (float -10 .0 ) strictfp
@@ -6242,7 +6242,7 @@ define float @test_constant_fold_log_f32_pinf_strictfp() strictfp {
6242
6242
6243
6243
define float @test_constant_fold_log_f32_ninf_strictfp () strictfp {
6244
6244
; CHECK-LABEL: @test_constant_fold_log_f32_ninf_strictfp(
6245
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0xFFF0000000000000) #[[ATTR16 ]]
6245
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.log.f32(float 0xFFF0000000000000) #[[ATTR17 ]]
6246
6246
; CHECK-NEXT: ret float [[VAL]]
6247
6247
;
6248
6248
%val = call float @llvm.amdgcn.log.f32 (float 0xFFF0000000000000 ) strictfp
@@ -6444,7 +6444,7 @@ define half @test_constant_fold_exp2_f16_neg10() {
6444
6444
6445
6445
define float @test_constant_fold_exp2_f32_qnan_strictfp () strictfp {
6446
6446
; CHECK-LABEL: @test_constant_fold_exp2_f32_qnan_strictfp(
6447
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0x7FF8000000000000) #[[ATTR16 ]]
6447
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0x7FF8000000000000) #[[ATTR17 ]]
6448
6448
; CHECK-NEXT: ret float [[VAL]]
6449
6449
;
6450
6450
%val = call float @llvm.amdgcn.exp2.f32 (float 0x7FF8000000000000 ) strictfp
@@ -6453,7 +6453,7 @@ define float @test_constant_fold_exp2_f32_qnan_strictfp() strictfp {
6453
6453
6454
6454
define float @test_constant_fold_exp2_f32_0_strictfp () strictfp {
6455
6455
; CHECK-LABEL: @test_constant_fold_exp2_f32_0_strictfp(
6456
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0.000000e+00) #[[ATTR16 ]]
6456
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 0.000000e+00) #[[ATTR17 ]]
6457
6457
; CHECK-NEXT: ret float [[VAL]]
6458
6458
;
6459
6459
%val = call float @llvm.amdgcn.exp2.f32 (float 0 .0 ) strictfp
@@ -6462,7 +6462,7 @@ define float @test_constant_fold_exp2_f32_0_strictfp() strictfp {
6462
6462
6463
6463
define float @test_constant_fold_exp2_f32_neg0_strictfp () strictfp {
6464
6464
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg0_strictfp(
6465
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -0.000000e+00) #[[ATTR16 ]]
6465
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -0.000000e+00) #[[ATTR17 ]]
6466
6466
; CHECK-NEXT: ret float [[VAL]]
6467
6467
;
6468
6468
%val = call float @llvm.amdgcn.exp2.f32 (float -0 .0 ) strictfp
@@ -6471,7 +6471,7 @@ define float @test_constant_fold_exp2_f32_neg0_strictfp() strictfp {
6471
6471
6472
6472
define float @test_constant_fold_exp2_f32_1_strictfp () strictfp {
6473
6473
; CHECK-LABEL: @test_constant_fold_exp2_f32_1_strictfp(
6474
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 1.000000e+00) #[[ATTR16 ]]
6474
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 1.000000e+00) #[[ATTR17 ]]
6475
6475
; CHECK-NEXT: ret float [[VAL]]
6476
6476
;
6477
6477
%val = call float @llvm.amdgcn.exp2.f32 (float 1 .0 ) strictfp
@@ -6480,7 +6480,7 @@ define float @test_constant_fold_exp2_f32_1_strictfp() strictfp {
6480
6480
6481
6481
define float @test_constant_fold_exp2_f32_neg1_strictfp () strictfp {
6482
6482
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg1_strictfp(
6483
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+00) #[[ATTR16 ]]
6483
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+00) #[[ATTR17 ]]
6484
6484
; CHECK-NEXT: ret float [[VAL]]
6485
6485
;
6486
6486
%val = call float @llvm.amdgcn.exp2.f32 (float -1 .0 ) strictfp
@@ -6489,7 +6489,7 @@ define float @test_constant_fold_exp2_f32_neg1_strictfp() strictfp {
6489
6489
6490
6490
define float @test_constant_fold_exp2_f32_2_strictfp () strictfp {
6491
6491
; CHECK-LABEL: @test_constant_fold_exp2_f32_2_strictfp(
6492
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 2.000000e+00) #[[ATTR16 ]]
6492
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float 2.000000e+00) #[[ATTR17 ]]
6493
6493
; CHECK-NEXT: ret float [[VAL]]
6494
6494
;
6495
6495
%val = call float @llvm.amdgcn.exp2.f32 (float 2 .0 ) strictfp
@@ -6498,7 +6498,7 @@ define float @test_constant_fold_exp2_f32_2_strictfp() strictfp {
6498
6498
6499
6499
define float @test_constant_fold_exp2_f32_neg2_strictfp () strictfp {
6500
6500
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg2_strictfp(
6501
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -2.000000e+00) #[[ATTR16 ]]
6501
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -2.000000e+00) #[[ATTR17 ]]
6502
6502
; CHECK-NEXT: ret float [[VAL]]
6503
6503
;
6504
6504
%val = call float @llvm.amdgcn.exp2.f32 (float -2 .0 ) strictfp
@@ -6507,7 +6507,7 @@ define float @test_constant_fold_exp2_f32_neg2_strictfp() strictfp {
6507
6507
6508
6508
define float @test_constant_fold_exp2_f32_neg_strictfp () strictfp {
6509
6509
; CHECK-LABEL: @test_constant_fold_exp2_f32_neg_strictfp(
6510
- ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+01) #[[ATTR16 ]]
6510
+ ; CHECK-NEXT: [[VAL:%.*]] = call float @llvm.amdgcn.exp2.f32(float -1.000000e+01) #[[ATTR17 ]]
6511
6511
; CHECK-NEXT: ret float [[VAL]]
6512
6512
;
6513
6513
%val = call float @llvm.amdgcn.exp2.f32 (float -10 .0 ) strictfp
@@ -6555,13 +6555,15 @@ declare i32 @llvm.amdgcn.prng.b32(i32)
6555
6555
define i32 @prng_undef_i32 () {
6556
6556
; CHECK-LABEL: @prng_undef_i32(
6557
6557
; CHECK-NEXT: ret i32 undef
6558
+ ;
6558
6559
%prng = call i32 @llvm.amdgcn.prng.b32 (i32 undef )
6559
6560
ret i32 %prng
6560
6561
}
6561
6562
6562
6563
define i32 @prng_poison_i32 () {
6563
6564
; CHECK-LABEL: @prng_poison_i32(
6564
6565
; CHECK-NEXT: ret i32 poison
6566
+ ;
6565
6567
%prng = call i32 @llvm.amdgcn.prng.b32 (i32 poison)
6566
6568
ret i32 %prng
6567
6569
}
0 commit comments