@@ -624,7 +624,7 @@ define <2 x float> @test_select_cc_f32_f16(<2 x float> %a, <2 x float> %b,
624
624
; CHECK-F16-NEXT: .reg .pred %p<3>;
625
625
; CHECK-F16-NEXT: .reg .b32 %r<3>;
626
626
; CHECK-F16-NEXT: .reg .b32 %f<7>;
627
- ; CHECK-F16-NEXT: .reg .b64 %rd<3 >;
627
+ ; CHECK-F16-NEXT: .reg .b64 %rd<4 >;
628
628
; CHECK-F16-EMPTY:
629
629
; CHECK-F16-NEXT: // %bb.0:
630
630
; 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,
636
636
; CHECK-F16-NEXT: mov.b64 {%f3, %f4}, %rd1;
637
637
; CHECK-F16-NEXT: selp.f32 %f5, %f4, %f2, %p2;
638
638
; CHECK-F16-NEXT: selp.f32 %f6, %f3, %f1, %p1;
639
- ; CHECK-F16-NEXT: st.param.v2.b32 [func_retval0], {%f6, %f5};
639
+ ; CHECK-F16-NEXT: mov.b64 %rd3, {%f6, %f5};
640
+ ; CHECK-F16-NEXT: st.param.b64 [func_retval0], %rd3;
640
641
; CHECK-F16-NEXT: ret;
641
642
;
642
643
; 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,
645
646
; CHECK-NOF16-NEXT: .reg .b16 %rs<5>;
646
647
; CHECK-NOF16-NEXT: .reg .b32 %r<3>;
647
648
; CHECK-NOF16-NEXT: .reg .b32 %f<11>;
648
- ; CHECK-NOF16-NEXT: .reg .b64 %rd<3 >;
649
+ ; CHECK-NOF16-NEXT: .reg .b64 %rd<4 >;
649
650
; CHECK-NOF16-EMPTY:
650
651
; CHECK-NOF16-NEXT: // %bb.0:
651
652
; 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,
664
665
; CHECK-NOF16-NEXT: mov.b64 {%f7, %f8}, %rd1;
665
666
; CHECK-NOF16-NEXT: selp.f32 %f9, %f8, %f6, %p2;
666
667
; CHECK-NOF16-NEXT: selp.f32 %f10, %f7, %f5, %p1;
667
- ; CHECK-NOF16-NEXT: st.param.v2.b32 [func_retval0], {%f10, %f9};
668
+ ; CHECK-NOF16-NEXT: mov.b64 %rd3, {%f10, %f9};
669
+ ; CHECK-NOF16-NEXT: st.param.b64 [func_retval0], %rd3;
668
670
; CHECK-NOF16-NEXT: ret;
669
671
<2 x half > %c , <2 x half > %d ) #0 {
670
672
%cc = fcmp une <2 x half > %c , %d
@@ -1593,13 +1595,15 @@ define <2 x float> @test_fpext_2xfloat(<2 x half> %a) #0 {
1593
1595
; CHECK-NEXT: .reg .b16 %rs<3>;
1594
1596
; CHECK-NEXT: .reg .b32 %r<2>;
1595
1597
; CHECK-NEXT: .reg .b32 %f<3>;
1598
+ ; CHECK-NEXT: .reg .b64 %rd<2>;
1596
1599
; CHECK-EMPTY:
1597
1600
; CHECK-NEXT: // %bb.0:
1598
1601
; CHECK-NEXT: ld.param.b32 %r1, [test_fpext_2xfloat_param_0];
1599
1602
; CHECK-NEXT: mov.b32 {%rs1, %rs2}, %r1;
1600
1603
; CHECK-NEXT: cvt.f32.f16 %f1, %rs2;
1601
1604
; CHECK-NEXT: cvt.f32.f16 %f2, %rs1;
1602
- ; CHECK-NEXT: st.param.v2.b32 [func_retval0], {%f2, %f1};
1605
+ ; CHECK-NEXT: mov.b64 %rd1, {%f2, %f1};
1606
+ ; CHECK-NEXT: st.param.b64 [func_retval0], %rd1;
1603
1607
; CHECK-NEXT: ret;
1604
1608
%r = fpext <2 x half > %a to <2 x float >
1605
1609
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 {
2097
2101
; CHECK-F16-NEXT: .reg .b16 %rs<3>;
2098
2102
; CHECK-F16-NEXT: .reg .b32 %r<6>;
2099
2103
; CHECK-F16-NEXT: .reg .b32 %f<3>;
2104
+ ; CHECK-F16-NEXT: .reg .b64 %rd<2>;
2100
2105
; CHECK-F16-EMPTY:
2101
2106
; CHECK-F16-NEXT: // %bb.0:
2102
2107
; 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 {
2107
2112
; CHECK-F16-NEXT: mov.b32 {%rs1, %rs2}, %r5;
2108
2113
; CHECK-F16-NEXT: cvt.f32.f16 %f1, %rs2;
2109
2114
; CHECK-F16-NEXT: cvt.f32.f16 %f2, %rs1;
2110
- ; CHECK-F16-NEXT: st.param.v2.b32 [func_retval0], {%f2, %f1};
2115
+ ; CHECK-F16-NEXT: mov.b64 %rd1, {%f2, %f1};
2116
+ ; CHECK-F16-NEXT: st.param.b64 [func_retval0], %rd1;
2111
2117
; CHECK-F16-NEXT: ret;
2112
2118
;
2113
2119
; CHECK-NOF16-LABEL: test_copysign_extended(
2114
2120
; CHECK-NOF16: {
2115
2121
; CHECK-NOF16-NEXT: .reg .b16 %rs<11>;
2116
2122
; CHECK-NOF16-NEXT: .reg .b32 %r<3>;
2117
2123
; CHECK-NOF16-NEXT: .reg .b32 %f<3>;
2124
+ ; CHECK-NOF16-NEXT: .reg .b64 %rd<2>;
2118
2125
; CHECK-NOF16-EMPTY:
2119
2126
; CHECK-NOF16-NEXT: // %bb.0:
2120
2127
; 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 {
2129
2136
; CHECK-NOF16-NEXT: or.b16 %rs10, %rs9, %rs8;
2130
2137
; CHECK-NOF16-NEXT: cvt.f32.f16 %f1, %rs10;
2131
2138
; CHECK-NOF16-NEXT: cvt.f32.f16 %f2, %rs7;
2132
- ; CHECK-NOF16-NEXT: st.param.v2.b32 [func_retval0], {%f2, %f1};
2139
+ ; CHECK-NOF16-NEXT: mov.b64 %rd1, {%f2, %f1};
2140
+ ; CHECK-NOF16-NEXT: st.param.b64 [func_retval0], %rd1;
2133
2141
; CHECK-NOF16-NEXT: ret;
2134
2142
%r = call <2 x half > @llvm.copysign.f16 (<2 x half > %a , <2 x half > %b )
2135
2143
%xr = fpext <2 x half > %r to <2 x float >
0 commit comments