[llvm] [AArch64] missed fold vector fptoui(fdiv(uitofp(x), uitofp(y))) or fptosi(fdiv(sitofp(x), sitofp(y))) into udiv(x, y) or sdiv(x, y) for sve (PR #215146)

via llvm-commits llvm-commits at lists.llvm.org
Mon Aug 10 22:51:29 PDT 2026


================
@@ -21,14 +20,13 @@ define <vscale x 2 x i32> @fptosi_fdiv_sitofp_nxv2i32(<vscale x 2 x i32> %a, <vs
 ; CHECK-LABEL: fptosi_fdiv_sitofp_nxv2i32:
 ; CHECK:       // %bb.0:
 ; CHECK-NEXT:    ptrue p0.d
-; CHECK-NEXT:    scvtf z0.d, p0/m, z0.s
-; CHECK-NEXT:    scvtf z1.d, p0/m, z1.s
-; CHECK-NEXT:    fdiv z0.d, p0/m, z0.d, z1.d
-; CHECK-NEXT:    fcvtzs z0.d, p0/m, z0.d
+; CHECK-NEXT:    sxtw z1.d, p0/m, z1.d
+; CHECK-NEXT:    sxtw z0.d, p0/m, z0.d
+; CHECK-NEXT:    sdiv z0.d, p0/m, z0.d, z1.d
----------------
Andarwinux wrote:

It should be a i32 sdiv.

https://github.com/llvm/llvm-project/pull/215146


More information about the llvm-commits mailing list