@@ -1770,21 +1770,7 @@ define <4 x half> @frintx_4h(<4 x half> %A) nounwind {
17701770;
17711771; CHECK-FP16-LABEL: frintx_4h:
17721772; CHECK-FP16: @ %bb.0:
1773- ; CHECK-FP16-NEXT: vmovx.f16 s2, s0
1774- ; CHECK-FP16-NEXT: vrintx.f16 s2, s2
1775- ; CHECK-FP16-NEXT: vmov r0, s2
1776- ; CHECK-FP16-NEXT: vrintx.f16 s2, s0
1777- ; CHECK-FP16-NEXT: vmov r1, s2
1778- ; CHECK-FP16-NEXT: vrintx.f16 s2, s1
1779- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
1780- ; CHECK-FP16-NEXT: vrintx.f16 s0, s0
1781- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
1782- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
1783- ; CHECK-FP16-NEXT: vmov r0, s2
1784- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
1785- ; CHECK-FP16-NEXT: vmov r0, s0
1786- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
1787- ; CHECK-FP16-NEXT: vorr d0, d16, d16
1773+ ; CHECK-FP16-NEXT: vrintx.f16 d0, d0
17881774; CHECK-FP16-NEXT: bx lr
17891775 %tmp3 = call <4 x half > @llvm.rint.v4f16 (<4 x half > %A )
17901776 ret <4 x half > %tmp3
@@ -1934,35 +1920,7 @@ define <8 x half> @frintx_8h(<8 x half> %A) nounwind {
19341920;
19351921; CHECK-FP16-LABEL: frintx_8h:
19361922; CHECK-FP16: @ %bb.0:
1937- ; CHECK-FP16-NEXT: vmovx.f16 s4, s2
1938- ; CHECK-FP16-NEXT: vrintx.f16 s4, s4
1939- ; CHECK-FP16-NEXT: vmov r0, s4
1940- ; CHECK-FP16-NEXT: vrintx.f16 s4, s2
1941- ; CHECK-FP16-NEXT: vmov r1, s4
1942- ; CHECK-FP16-NEXT: vrintx.f16 s4, s3
1943- ; CHECK-FP16-NEXT: vmov.16 d17[0], r1
1944- ; CHECK-FP16-NEXT: vmov.16 d17[1], r0
1945- ; CHECK-FP16-NEXT: vmov r0, s4
1946- ; CHECK-FP16-NEXT: vmovx.f16 s4, s3
1947- ; CHECK-FP16-NEXT: vrintx.f16 s4, s4
1948- ; CHECK-FP16-NEXT: vmov.16 d17[2], r0
1949- ; CHECK-FP16-NEXT: vmov r0, s4
1950- ; CHECK-FP16-NEXT: vmovx.f16 s4, s0
1951- ; CHECK-FP16-NEXT: vrintx.f16 s4, s4
1952- ; CHECK-FP16-NEXT: vmov.16 d17[3], r0
1953- ; CHECK-FP16-NEXT: vmov r0, s4
1954- ; CHECK-FP16-NEXT: vrintx.f16 s4, s0
1955- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
1956- ; CHECK-FP16-NEXT: vmov r1, s4
1957- ; CHECK-FP16-NEXT: vrintx.f16 s4, s1
1958- ; CHECK-FP16-NEXT: vrintx.f16 s0, s0
1959- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
1960- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
1961- ; CHECK-FP16-NEXT: vmov r0, s4
1962- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
1963- ; CHECK-FP16-NEXT: vmov r0, s0
1964- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
1965- ; CHECK-FP16-NEXT: vorr q0, q8, q8
1923+ ; CHECK-FP16-NEXT: vrintx.f16 q0, q0
19661924; CHECK-FP16-NEXT: bx lr
19671925 %tmp3 = call <8 x half > @llvm.rint.v8f16 (<8 x half > %A )
19681926 ret <8 x half > %tmp3
@@ -1988,9 +1946,7 @@ define <2 x float> @frintx_2s(<2 x float> %A) nounwind {
19881946;
19891947; CHECK-LABEL: frintx_2s:
19901948; CHECK: @ %bb.0:
1991- ; CHECK-NEXT: vrintx.f32 s3, s1
1992- ; CHECK-NEXT: vrintx.f32 s2, s0
1993- ; CHECK-NEXT: vmov.f64 d0, d1
1949+ ; CHECK-NEXT: vrintx.f32 d0, d0
19941950; CHECK-NEXT: bx lr
19951951 %tmp3 = call <2 x float > @llvm.rint.v2f32 (<2 x float > %A )
19961952 ret <2 x float > %tmp3
@@ -2022,11 +1978,7 @@ define <4 x float> @frintx_4s(<4 x float> %A) nounwind {
20221978;
20231979; CHECK-LABEL: frintx_4s:
20241980; CHECK: @ %bb.0:
2025- ; CHECK-NEXT: vrintx.f32 s7, s3
2026- ; CHECK-NEXT: vrintx.f32 s6, s2
2027- ; CHECK-NEXT: vrintx.f32 s5, s1
2028- ; CHECK-NEXT: vrintx.f32 s4, s0
2029- ; CHECK-NEXT: vorr q0, q1, q1
1981+ ; CHECK-NEXT: vrintx.f32 q0, q0
20301982; CHECK-NEXT: bx lr
20311983 %tmp3 = call <4 x float > @llvm.rint.v4f32 (<4 x float > %A )
20321984 ret <4 x float > %tmp3
0 commit comments