[llvm] [RISCV] Recognize VLA shift pairs from shuffle masks (PR #127710)
Philip Reames via llvm-commits
llvm-commits at lists.llvm.org
Wed Feb 19 11:58:44 PST 2025
================
@@ -113,12 +103,13 @@ define <4 x i16> @vrgather_shuffle_xv_v4i16(<4 x i16> %x) {
define <4 x i16> @vrgather_shuffle_vx_v4i16(<4 x i16> %x) {
; CHECK-LABEL: vrgather_shuffle_vx_v4i16:
; CHECK: # %bb.0:
-; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, ma
-; CHECK-NEXT: vmv.v.i v9, 9
-; CHECK-NEXT: vmv.v.i v0, 3
-; CHECK-NEXT: vcompress.vm v10, v8, v9
-; CHECK-NEXT: vmv.v.i v8, 5
-; CHECK-NEXT: vmerge.vvm v8, v8, v10, v0
+; CHECK-NEXT: vsetivli zero, 4, e16, mf2, ta, mu
+; CHECK-NEXT: vmv.v.i v0, 2
+; CHECK-NEXT: vmv.v.i v9, 3
+; CHECK-NEXT: vslidedown.vi v8, v8, 2, v0.t
+; CHECK-NEXT: vmv.v.i v10, 5
+; CHECK-NEXT: vmv1r.v v0, v9
+; CHECK-NEXT: vmerge.vvm v8, v10, v8, v0
----------------
preames wrote:
Agreed. I honestly been hoping that your vmv0 changes would help with this, but yeah, this is a case I've seen a few of that we could definitely improve.
https://github.com/llvm/llvm-project/pull/127710
More information about the llvm-commits
mailing list