@@ -624,7 +624,7 @@ define <2 x float> @test_select_cc_f32_f16(<2 x float> %a, <2 x float> %b,
624624; CHECK-F16-NEXT: .reg .pred %p<3>;
625625; CHECK-F16-NEXT: .reg .b32 %r<3>;
626626; CHECK-F16-NEXT: .reg .b32 %f<7>;
627- ; CHECK-F16-NEXT: .reg .b64 %rd<3 >;
627+ ; CHECK-F16-NEXT: .reg .b64 %rd<4 >;
628628; CHECK-F16-EMPTY:
629629; CHECK-F16-NEXT: // %bb.0:
630630; CHECK-F16-NEXT: ld.param.b32 %r2, [test_select_cc_f32_f16_param_3];
@@ -636,7 +636,8 @@ define <2 x float> @test_select_cc_f32_f16(<2 x float> %a, <2 x float> %b,
636636; CHECK-F16-NEXT: mov.b64 {%f3, %f4}, %rd1;
637637; CHECK-F16-NEXT: selp.f32 %f5, %f4, %f2, %p2;
638638; CHECK-F16-NEXT: selp.f32 %f6, %f3, %f1, %p1;
639- ; CHECK-F16-NEXT: st.param.v2.f32 [func_retval0], {%f6, %f5};
639+ ; CHECK-F16-NEXT: mov.b64 %rd3, {%f6, %f5};
640+ ; CHECK-F16-NEXT: st.param.b64 [func_retval0], %rd3;
640641; CHECK-F16-NEXT: ret;
641642;
642643; CHECK-NOF16-LABEL: test_select_cc_f32_f16(
@@ -645,7 +646,7 @@ define <2 x float> @test_select_cc_f32_f16(<2 x float> %a, <2 x float> %b,
645646; CHECK-NOF16-NEXT: .reg .b16 %rs<5>;
646647; CHECK-NOF16-NEXT: .reg .b32 %r<3>;
647648; CHECK-NOF16-NEXT: .reg .b32 %f<11>;
648- ; CHECK-NOF16-NEXT: .reg .b64 %rd<3 >;
649+ ; CHECK-NOF16-NEXT: .reg .b64 %rd<4 >;
649650; CHECK-NOF16-EMPTY:
650651; CHECK-NOF16-NEXT: // %bb.0:
651652; CHECK-NOF16-NEXT: ld.param.b32 %r2, [test_select_cc_f32_f16_param_3];
@@ -664,7 +665,8 @@ define <2 x float> @test_select_cc_f32_f16(<2 x float> %a, <2 x float> %b,
664665; CHECK-NOF16-NEXT: mov.b64 {%f7, %f8}, %rd1;
665666; CHECK-NOF16-NEXT: selp.f32 %f9, %f8, %f6, %p2;
666667; CHECK-NOF16-NEXT: selp.f32 %f10, %f7, %f5, %p1;
667- ; CHECK-NOF16-NEXT: st.param.v2.f32 [func_retval0], {%f10, %f9};
668+ ; CHECK-NOF16-NEXT: mov.b64 %rd3, {%f10, %f9};
669+ ; CHECK-NOF16-NEXT: st.param.b64 [func_retval0], %rd3;
668670; CHECK-NOF16-NEXT: ret;
669671 <2 x half > %c , <2 x half > %d ) #0 {
670672 %cc = fcmp une <2 x half > %c , %d
@@ -1593,13 +1595,15 @@ define <2 x float> @test_fpext_2xfloat(<2 x half> %a) #0 {
15931595; CHECK-NEXT: .reg .b16 %rs<3>;
15941596; CHECK-NEXT: .reg .b32 %r<2>;
15951597; CHECK-NEXT: .reg .b32 %f<3>;
1598+ ; CHECK-NEXT: .reg .b64 %rd<2>;
15961599; CHECK-EMPTY:
15971600; CHECK-NEXT: // %bb.0:
15981601; CHECK-NEXT: ld.param.b32 %r1, [test_fpext_2xfloat_param_0];
15991602; CHECK-NEXT: mov.b32 {%rs1, %rs2}, %r1;
16001603; CHECK-NEXT: cvt.f32.f16 %f1, %rs2;
16011604; CHECK-NEXT: cvt.f32.f16 %f2, %rs1;
1602- ; CHECK-NEXT: st.param.v2.f32 [func_retval0], {%f2, %f1};
1605+ ; CHECK-NEXT: mov.b64 %rd1, {%f2, %f1};
1606+ ; CHECK-NEXT: st.param.b64 [func_retval0], %rd1;
16031607; CHECK-NEXT: ret;
16041608 %r = fpext <2 x half > %a to <2 x float >
16051609 ret <2 x float > %r
@@ -2097,6 +2101,7 @@ define <2 x float> @test_copysign_extended(<2 x half> %a, <2 x half> %b) #0 {
20972101; CHECK-F16-NEXT: .reg .b16 %rs<3>;
20982102; CHECK-F16-NEXT: .reg .b32 %r<6>;
20992103; CHECK-F16-NEXT: .reg .b32 %f<3>;
2104+ ; CHECK-F16-NEXT: .reg .b64 %rd<2>;
21002105; CHECK-F16-EMPTY:
21012106; CHECK-F16-NEXT: // %bb.0:
21022107; CHECK-F16-NEXT: ld.param.b32 %r2, [test_copysign_extended_param_1];
@@ -2107,14 +2112,16 @@ define <2 x float> @test_copysign_extended(<2 x half> %a, <2 x half> %b) #0 {
21072112; CHECK-F16-NEXT: mov.b32 {%rs1, %rs2}, %r5;
21082113; CHECK-F16-NEXT: cvt.f32.f16 %f1, %rs2;
21092114; CHECK-F16-NEXT: cvt.f32.f16 %f2, %rs1;
2110- ; CHECK-F16-NEXT: st.param.v2.f32 [func_retval0], {%f2, %f1};
2115+ ; CHECK-F16-NEXT: mov.b64 %rd1, {%f2, %f1};
2116+ ; CHECK-F16-NEXT: st.param.b64 [func_retval0], %rd1;
21112117; CHECK-F16-NEXT: ret;
21122118;
21132119; CHECK-NOF16-LABEL: test_copysign_extended(
21142120; CHECK-NOF16: {
21152121; CHECK-NOF16-NEXT: .reg .b16 %rs<11>;
21162122; CHECK-NOF16-NEXT: .reg .b32 %r<3>;
21172123; CHECK-NOF16-NEXT: .reg .b32 %f<3>;
2124+ ; CHECK-NOF16-NEXT: .reg .b64 %rd<2>;
21182125; CHECK-NOF16-EMPTY:
21192126; CHECK-NOF16-NEXT: // %bb.0:
21202127; CHECK-NOF16-NEXT: ld.param.b32 %r2, [test_copysign_extended_param_1];
@@ -2129,7 +2136,8 @@ define <2 x float> @test_copysign_extended(<2 x half> %a, <2 x half> %b) #0 {
21292136; CHECK-NOF16-NEXT: or.b16 %rs10, %rs9, %rs8;
21302137; CHECK-NOF16-NEXT: cvt.f32.f16 %f1, %rs10;
21312138; CHECK-NOF16-NEXT: cvt.f32.f16 %f2, %rs7;
2132- ; CHECK-NOF16-NEXT: st.param.v2.f32 [func_retval0], {%f2, %f1};
2139+ ; CHECK-NOF16-NEXT: mov.b64 %rd1, {%f2, %f1};
2140+ ; CHECK-NOF16-NEXT: st.param.b64 [func_retval0], %rd1;
21332141; CHECK-NOF16-NEXT: ret;
21342142 %r = call <2 x half > @llvm.copysign.f16 (<2 x half > %a , <2 x half > %b )
21352143 %xr = fpext <2 x half > %r to <2 x float >
0 commit comments