@@ -36,7 +36,7 @@ define bfloat @test_fadd(bfloat %0, bfloat %1) {
3636; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
3737; SM70-NEXT: or.b32 %r9, %r5, 4194304;
3838; 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;
4040; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
4141; SM70-NEXT: ret;
4242;
@@ -104,7 +104,7 @@ define bfloat @test_fsub(bfloat %0, bfloat %1) {
104104; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
105105; SM70-NEXT: or.b32 %r9, %r5, 4194304;
106106; 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;
108108; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
109109; SM70-NEXT: ret;
110110;
@@ -628,7 +628,7 @@ define bfloat @test_fptrunc_float(float %a) #0 {
628628; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
629629; SM70-NEXT: or.b32 %r5, %r1, 4194304;
630630; 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;
632632; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
633633; SM70-NEXT: ret;
634634;
@@ -688,7 +688,7 @@ define bfloat @test_fadd_imm_1(bfloat %a) #0 {
688688; SM70-NEXT: setp.nan.f32 %p1, %f2, %f2;
689689; SM70-NEXT: or.b32 %r7, %r3, 4194304;
690690; 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;
692692; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
693693; SM70-NEXT: ret;
694694;
@@ -1012,7 +1012,7 @@ define bfloat @test_sitofp_i16(i16 %a) {
10121012; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
10131013; SM70-NEXT: or.b32 %r5, %r1, 4194304;
10141014; 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;
10161016; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
10171017; SM70-NEXT: ret;
10181018;
@@ -1071,7 +1071,7 @@ define bfloat @test_uitofp_i8(i8 %a) {
10711071; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
10721072; SM70-NEXT: or.b32 %r5, %r1, 4194304;
10731073; 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;
10751075; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
10761076; SM70-NEXT: ret;
10771077;
@@ -1133,7 +1133,7 @@ define bfloat @test_uitofp_i1(i1 %a) {
11331133; SM70-NEXT: setp.nan.f32 %p2, %f1, %f1;
11341134; SM70-NEXT: or.b32 %r6, %r2, 4194304;
11351135; 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;
11371137; SM70-NEXT: st.param.b16 [func_retval0], %rs3;
11381138; SM70-NEXT: ret;
11391139;
@@ -1207,7 +1207,7 @@ define bfloat @test_uitofp_i16(i16 %a) {
12071207; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
12081208; SM70-NEXT: or.b32 %r5, %r1, 4194304;
12091209; 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;
12111211; SM70-NEXT: st.param.b16 [func_retval0], %rs2;
12121212; SM70-NEXT: ret;
12131213;
@@ -1266,7 +1266,7 @@ define bfloat @test_uitofp_i32(i32 %a) {
12661266; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
12671267; SM70-NEXT: or.b32 %r6, %r2, 4194304;
12681268; 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;
12701270; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
12711271; SM70-NEXT: ret;
12721272;
@@ -1329,7 +1329,7 @@ define bfloat @test_uitofp_i64(i64 %a) {
13291329; SM70-NEXT: setp.nan.f32 %p1, %f1, %f1;
13301330; SM70-NEXT: or.b32 %r5, %r1, 4194304;
13311331; 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;
13331333; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
13341334; SM70-NEXT: ret;
13351335;
@@ -1393,7 +1393,7 @@ define bfloat @test_roundeven(bfloat %a) {
13931393; SM70-NEXT: setp.nan.f32 %p1, %f2, %f2;
13941394; SM70-NEXT: or.b32 %r7, %r3, 4194304;
13951395; 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;
13971397; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
13981398; SM70-NEXT: ret;
13991399;
@@ -1528,7 +1528,7 @@ define bfloat @test_maxnum(bfloat %a, bfloat %b) {
15281528; SM70-NEXT: setp.nan.f32 %p1, %f3, %f3;
15291529; SM70-NEXT: or.b32 %r9, %r5, 4194304;
15301530; 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;
15321532; SM70-NEXT: st.param.b16 [func_retval0], %rs1;
15331533; SM70-NEXT: ret;
15341534;
@@ -1655,7 +1655,7 @@ define <2 x bfloat> @test_maximum_v2(<2 x bfloat> %a, <2 x bfloat> %b) {
16551655; SM90-NEXT: max.NaN.bf16x2 %r3, %r2, %r1;
16561656; SM90-NEXT: st.param.b32 [func_retval0], %r3;
16571657; 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 )
16591659 ret <2 x bfloat> %r
16601660}
16611661
@@ -1739,3 +1739,6 @@ define <2 x bfloat> @test_maxnum_v2(<2 x bfloat> %a, <2 x bfloat> %b) {
17391739 %r = call <2 x bfloat> @llvm.maxnum.v2bf16 (<2 x bfloat> %a , <2 x bfloat> %b )
17401740 ret <2 x bfloat> %r
17411741}
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