@@ -2137,21 +2137,7 @@ define <4 x half> @frintz_4h(<4 x half> %A) nounwind {
21372137;
21382138; CHECK-FP16-LABEL: frintz_4h:
21392139; CHECK-FP16: @ %bb.0:
2140- ; CHECK-FP16-NEXT: vmovx.f16 s2, s0
2141- ; CHECK-FP16-NEXT: vrintz.f16 s2, s2
2142- ; CHECK-FP16-NEXT: vmov r0, s2
2143- ; CHECK-FP16-NEXT: vrintz.f16 s2, s0
2144- ; CHECK-FP16-NEXT: vmov r1, s2
2145- ; CHECK-FP16-NEXT: vrintz.f16 s2, s1
2146- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
2147- ; CHECK-FP16-NEXT: vrintz.f16 s0, s0
2148- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
2149- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
2150- ; CHECK-FP16-NEXT: vmov r0, s2
2151- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
2152- ; CHECK-FP16-NEXT: vmov r0, s0
2153- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
2154- ; CHECK-FP16-NEXT: vorr d0, d16, d16
2140+ ; CHECK-FP16-NEXT: vrintz.f16 d0, d0
21552141; CHECK-FP16-NEXT: bx lr
21562142 %tmp3 = call <4 x half > @llvm.trunc.v4f16 (<4 x half > %A )
21572143 ret <4 x half > %tmp3
@@ -2301,35 +2287,7 @@ define <8 x half> @frintz_8h(<8 x half> %A) nounwind {
23012287;
23022288; CHECK-FP16-LABEL: frintz_8h:
23032289; CHECK-FP16: @ %bb.0:
2304- ; CHECK-FP16-NEXT: vmovx.f16 s4, s2
2305- ; CHECK-FP16-NEXT: vrintz.f16 s4, s4
2306- ; CHECK-FP16-NEXT: vmov r0, s4
2307- ; CHECK-FP16-NEXT: vrintz.f16 s4, s2
2308- ; CHECK-FP16-NEXT: vmov r1, s4
2309- ; CHECK-FP16-NEXT: vrintz.f16 s4, s3
2310- ; CHECK-FP16-NEXT: vmov.16 d17[0], r1
2311- ; CHECK-FP16-NEXT: vmov.16 d17[1], r0
2312- ; CHECK-FP16-NEXT: vmov r0, s4
2313- ; CHECK-FP16-NEXT: vmovx.f16 s4, s3
2314- ; CHECK-FP16-NEXT: vrintz.f16 s4, s4
2315- ; CHECK-FP16-NEXT: vmov.16 d17[2], r0
2316- ; CHECK-FP16-NEXT: vmov r0, s4
2317- ; CHECK-FP16-NEXT: vmovx.f16 s4, s0
2318- ; CHECK-FP16-NEXT: vrintz.f16 s4, s4
2319- ; CHECK-FP16-NEXT: vmov.16 d17[3], r0
2320- ; CHECK-FP16-NEXT: vmov r0, s4
2321- ; CHECK-FP16-NEXT: vrintz.f16 s4, s0
2322- ; CHECK-FP16-NEXT: vmovx.f16 s0, s1
2323- ; CHECK-FP16-NEXT: vmov r1, s4
2324- ; CHECK-FP16-NEXT: vrintz.f16 s4, s1
2325- ; CHECK-FP16-NEXT: vrintz.f16 s0, s0
2326- ; CHECK-FP16-NEXT: vmov.16 d16[0], r1
2327- ; CHECK-FP16-NEXT: vmov.16 d16[1], r0
2328- ; CHECK-FP16-NEXT: vmov r0, s4
2329- ; CHECK-FP16-NEXT: vmov.16 d16[2], r0
2330- ; CHECK-FP16-NEXT: vmov r0, s0
2331- ; CHECK-FP16-NEXT: vmov.16 d16[3], r0
2332- ; CHECK-FP16-NEXT: vorr q0, q8, q8
2290+ ; CHECK-FP16-NEXT: vrintz.f16 q0, q0
23332291; CHECK-FP16-NEXT: bx lr
23342292 %tmp3 = call <8 x half > @llvm.trunc.v8f16 (<8 x half > %A )
23352293 ret <8 x half > %tmp3
@@ -2355,9 +2313,7 @@ define <2 x float> @frintz_2s(<2 x float> %A) nounwind {
23552313;
23562314; CHECK-LABEL: frintz_2s:
23572315; CHECK: @ %bb.0:
2358- ; CHECK-NEXT: vrintz.f32 s3, s1
2359- ; CHECK-NEXT: vrintz.f32 s2, s0
2360- ; CHECK-NEXT: vmov.f64 d0, d1
2316+ ; CHECK-NEXT: vrintz.f32 d0, d0
23612317; CHECK-NEXT: bx lr
23622318 %tmp3 = call <2 x float > @llvm.trunc.v2f32 (<2 x float > %A )
23632319 ret <2 x float > %tmp3
@@ -2389,11 +2345,7 @@ define <4 x float> @frintz_4s(<4 x float> %A) nounwind {
23892345;
23902346; CHECK-LABEL: frintz_4s:
23912347; CHECK: @ %bb.0:
2392- ; CHECK-NEXT: vrintz.f32 s7, s3
2393- ; CHECK-NEXT: vrintz.f32 s6, s2
2394- ; CHECK-NEXT: vrintz.f32 s5, s1
2395- ; CHECK-NEXT: vrintz.f32 s4, s0
2396- ; CHECK-NEXT: vorr q0, q1, q1
2348+ ; CHECK-NEXT: vrintz.f32 q0, q0
23972349; CHECK-NEXT: bx lr
23982350 %tmp3 = call <4 x float > @llvm.trunc.v4f32 (<4 x float > %A )
23992351 ret <4 x float > %tmp3
0 commit comments