@@ -36,7 +36,7 @@ define bfloat @test_fadd(bfloat %0, bfloat %1) {
36
36
; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
37
37
; SM70-NEXT: or.b32 %r9, %r5, 4194304;
38
38
; SM70-NEXT: selp.b32 %r10, %r9, %r8, %p1;
39
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r10; }
39
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r10;
40
40
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
41
41
; SM70-NEXT: ret;
42
42
;
@@ -104,7 +104,7 @@ define bfloat @test_fsub(bfloat %0, bfloat %1) {
104
104
; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
105
105
; SM70-NEXT: or.b32 %r9, %r5, 4194304;
106
106
; SM70-NEXT: selp.b32 %r10, %r9, %r8, %p1;
107
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r10; }
107
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r10;
108
108
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
109
109
; SM70-NEXT: ret;
110
110
;
@@ -628,7 +628,7 @@ define bfloat @test_fptrunc_float(float %a) #0 {
628
628
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
629
629
; SM70-NEXT: or.b32 %r5, %r1, 4194304;
630
630
; SM70-NEXT: selp.b32 %r6, %r5, %r4, %p1;
631
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r6; }
631
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r6;
632
632
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
633
633
; SM70-NEXT: ret;
634
634
;
@@ -688,7 +688,7 @@ define bfloat @test_fadd_imm_1(bfloat %a) #0 {
688
688
; SM70-NEXT: setp.nan.f32 %p1, %f2, %f2;
689
689
; SM70-NEXT: or.b32 %r7, %r3, 4194304;
690
690
; SM70-NEXT: selp.b32 %r8, %r7, %r6, %p1;
691
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r8; }
691
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r8;
692
692
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
693
693
; SM70-NEXT: ret;
694
694
;
@@ -1012,7 +1012,7 @@ define bfloat @test_sitofp_i16(i16 %a) {
1012
1012
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
1013
1013
; SM70-NEXT: or.b32 %r5, %r1, 4194304;
1014
1014
; SM70-NEXT: selp.b32 %r6, %r5, %r4, %p1;
1015
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs2}, %r6; }
1015
+ ; SM70-NEXT: mov.b32 {_ , %rs2}, %r6;
1016
1016
; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
1017
1017
; SM70-NEXT: ret;
1018
1018
;
@@ -1071,7 +1071,7 @@ define bfloat @test_uitofp_i8(i8 %a) {
1071
1071
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
1072
1072
; SM70-NEXT: or.b32 %r5, %r1, 4194304;
1073
1073
; SM70-NEXT: selp.b32 %r6, %r5, %r4, %p1;
1074
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs2}, %r6; }
1074
+ ; SM70-NEXT: mov.b32 {_ , %rs2}, %r6;
1075
1075
; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
1076
1076
; SM70-NEXT: ret;
1077
1077
;
@@ -1133,7 +1133,7 @@ define bfloat @test_uitofp_i1(i1 %a) {
1133
1133
; SM70-NEXT: setp.nan.f32 %p2, %f1, %f1;
1134
1134
; SM70-NEXT: or.b32 %r6, %r2, 4194304;
1135
1135
; SM70-NEXT: selp.b32 %r7, %r6, %r5, %p2;
1136
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs3}, %r7; }
1136
+ ; SM70-NEXT: mov.b32 {_ , %rs3}, %r7;
1137
1137
; SM70-NEXT: st.param.b16 [func_retval0], %rs3;
1138
1138
; SM70-NEXT: ret;
1139
1139
;
@@ -1207,7 +1207,7 @@ define bfloat @test_uitofp_i16(i16 %a) {
1207
1207
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
1208
1208
; SM70-NEXT: or.b32 %r5, %r1, 4194304;
1209
1209
; SM70-NEXT: selp.b32 %r6, %r5, %r4, %p1;
1210
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs2}, %r6; }
1210
+ ; SM70-NEXT: mov.b32 {_ , %rs2}, %r6;
1211
1211
; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
1212
1212
; SM70-NEXT: ret;
1213
1213
;
@@ -1266,7 +1266,7 @@ define bfloat @test_uitofp_i32(i32 %a) {
1266
1266
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
1267
1267
; SM70-NEXT: or.b32 %r6, %r2, 4194304;
1268
1268
; SM70-NEXT: selp.b32 %r7, %r6, %r5, %p1;
1269
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r7; }
1269
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r7;
1270
1270
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
1271
1271
; SM70-NEXT: ret;
1272
1272
;
@@ -1329,7 +1329,7 @@ define bfloat @test_uitofp_i64(i64 %a) {
1329
1329
; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
1330
1330
; SM70-NEXT: or.b32 %r5, %r1, 4194304;
1331
1331
; SM70-NEXT: selp.b32 %r6, %r5, %r4, %p1;
1332
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r6; }
1332
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r6;
1333
1333
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
1334
1334
; SM70-NEXT: ret;
1335
1335
;
@@ -1393,7 +1393,7 @@ define bfloat @test_roundeven(bfloat %a) {
1393
1393
; SM70-NEXT: setp.nan.f32 %p1, %f2, %f2;
1394
1394
; SM70-NEXT: or.b32 %r7, %r3, 4194304;
1395
1395
; SM70-NEXT: selp.b32 %r8, %r7, %r6, %p1;
1396
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r8; }
1396
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r8;
1397
1397
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
1398
1398
; SM70-NEXT: ret;
1399
1399
;
@@ -1528,7 +1528,7 @@ define bfloat @test_maxnum(bfloat %a, bfloat %b) {
1528
1528
; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
1529
1529
; SM70-NEXT: or.b32 %r9, %r5, 4194304;
1530
1530
; SM70-NEXT: selp.b32 %r10, %r9, %r8, %p1;
1531
- ; SM70-NEXT: { .reg .b16 tmp; mov.b32 {tmp , %rs1}, %r10; }
1531
+ ; SM70-NEXT: mov.b32 {_ , %rs1}, %r10;
1532
1532
; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
1533
1533
; SM70-NEXT: ret;
1534
1534
;
@@ -1655,7 +1655,7 @@ define <2 x bfloat> @test_maximum_v2(<2 x bfloat> %a, <2 x bfloat> %b) {
1655
1655
; SM90-NEXT: max.NaN.bf16x2 %r3, %r2, %r1;
1656
1656
; SM90-NEXT: st.param.b32 [func_retval0], %r3;
1657
1657
; SM90-NEXT: ret;
1658
- %r = call <2 x bfloat> @llvm.maximum.bf16 (<2 x bfloat> %a , <2 x bfloat> %b )
1658
+ %r = call <2 x bfloat> @llvm.maximum.v2bf16 (<2 x bfloat> %a , <2 x bfloat> %b )
1659
1659
ret <2 x bfloat> %r
1660
1660
}
1661
1661
@@ -1739,3 +1739,6 @@ define <2 x bfloat> @test_maxnum_v2(<2 x bfloat> %a, <2 x bfloat> %b) {
1739
1739
%r = call <2 x bfloat> @llvm.maxnum.v2bf16 (<2 x bfloat> %a , <2 x bfloat> %b )
1740
1740
ret <2 x bfloat> %r
1741
1741
}
1742
+
1743
+ declare bfloat @llvm.maximum.bf16 (bfloat, bfloat)
1744
+ declare <2 x bfloat> @llvm.maximum.v2bf16 (<2 x bfloat>, <2 x bfloat>)
0 commit comments