@@ -1451,21 +1451,7 @@ define <4 x half> @frintp_4h(<4 x half> %A) nounwind {
14511451;
14521452; CHECK-FP16-LABEL: frintp_4h:
14531453; CHECK-FP16: @ %bb.0:
1454- ; CHECK-FP16-NEXT: vmovx.f16 s2, s0
1455- ; CHECK-FP16-NEXT: vrintp.f16 s2, s2
1456- ; CHECK-FP16-NEXT: vmov r0, s2
1457- ; CHECK-FP16-NEXT: vrintp.f16 s2, s0
1458- ; CHECK-FP16-NEXT: vmov r1, s2
1459- ; CHECK-FP16-NEXT: vrintp.f16 s2, s1
1460- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
1461- ; CHECK-FP16-NEXT: vrintp.f16 s0, s0
1462- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
1463- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
1464- ; CHECK-FP16-NEXT: vmov r0, s2
1465- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
1466- ; CHECK-FP16-NEXT: vmov r0, s0
1467- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
1468- ; CHECK-FP16-NEXT: vorr d0, d16, d16
1454+ ; CHECK-FP16-NEXT: vrintp.f16 d0, d0
14691455; CHECK-FP16-NEXT: bx lr
14701456 %tmp3 = call <4 x half > @llvm.ceil.v4f16 (<4 x half > %A )
14711457 ret <4 x half > %tmp3
@@ -1615,35 +1601,7 @@ define <8 x half> @frintp_8h(<8 x half> %A) nounwind {
16151601;
16161602; CHECK-FP16-LABEL: frintp_8h:
16171603; CHECK-FP16: @ %bb.0:
1618- ; CHECK-FP16-NEXT: vmovx.f16 s4, s2
1619- ; CHECK-FP16-NEXT: vrintp.f16 s4, s4
1620- ; CHECK-FP16-NEXT: vmov r0, s4
1621- ; CHECK-FP16-NEXT: vrintp.f16 s4, s2
1622- ; CHECK-FP16-NEXT: vmov r1, s4
1623- ; CHECK-FP16-NEXT: vrintp.f16 s4, s3
1624- ; CHECK-FP16-NEXT: vmov.16 d17[0], r1
1625- ; CHECK-FP16-NEXT: vmov.16 d17[1], r0
1626- ; CHECK-FP16-NEXT: vmov r0, s4
1627- ; CHECK-FP16-NEXT: vmovx.f16 s4, s3
1628- ; CHECK-FP16-NEXT: vrintp.f16 s4, s4
1629- ; CHECK-FP16-NEXT: vmov.16 d17[2], r0
1630- ; CHECK-FP16-NEXT: vmov r0, s4
1631- ; CHECK-FP16-NEXT: vmovx.f16 s4, s0
1632- ; CHECK-FP16-NEXT: vrintp.f16 s4, s4
1633- ; CHECK-FP16-NEXT: vmov.16 d17[3], r0
1634- ; CHECK-FP16-NEXT: vmov r0, s4
1635- ; CHECK-FP16-NEXT: vrintp.f16 s4, s0
1636- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
1637- ; CHECK-FP16-NEXT: vmov r1, s4
1638- ; CHECK-FP16-NEXT: vrintp.f16 s4, s1
1639- ; CHECK-FP16-NEXT: vrintp.f16 s0, s0
1640- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
1641- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
1642- ; CHECK-FP16-NEXT: vmov r0, s4
1643- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
1644- ; CHECK-FP16-NEXT: vmov r0, s0
1645- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
1646- ; CHECK-FP16-NEXT: vorr q0, q8, q8
1604+ ; CHECK-FP16-NEXT: vrintp.f16 q0, q0
16471605; CHECK-FP16-NEXT: bx lr
16481606 %tmp3 = call <8 x half > @llvm.ceil.v8f16 (<8 x half > %A )
16491607 ret <8 x half > %tmp3
@@ -1669,9 +1627,7 @@ define <2 x float> @frintp_2s(<2 x float> %A) nounwind {
16691627;
16701628; CHECK-LABEL: frintp_2s:
16711629; CHECK: @ %bb.0:
1672- ; CHECK-NEXT: vrintp.f32 s3, s1
1673- ; CHECK-NEXT: vrintp.f32 s2, s0
1674- ; CHECK-NEXT: vmov.f64 d0, d1
1630+ ; CHECK-NEXT: vrintp.f32 d0, d0
16751631; CHECK-NEXT: bx lr
16761632 %tmp3 = call <2 x float > @llvm.ceil.v2f32 (<2 x float > %A )
16771633 ret <2 x float > %tmp3
@@ -1703,11 +1659,7 @@ define <4 x float> @frintp_4s(<4 x float> %A) nounwind {
17031659;
17041660; CHECK-LABEL: frintp_4s:
17051661; CHECK: @ %bb.0:
1706- ; CHECK-NEXT: vrintp.f32 s7, s3
1707- ; CHECK-NEXT: vrintp.f32 s6, s2
1708- ; CHECK-NEXT: vrintp.f32 s5, s1
1709- ; CHECK-NEXT: vrintp.f32 s4, s0
1710- ; CHECK-NEXT: vorr q0, q1, q1
1662+ ; CHECK-NEXT: vrintp.f32 q0, q0
17111663; CHECK-NEXT: bx lr
17121664 %tmp3 = call <4 x float > @llvm.ceil.v4f32 (<4 x float > %A )
17131665 ret <4 x float > %tmp3
0 commit comments