[PATCH] D155071: [RISCV] Fold vmerge into its ops with smaller VL if known
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 16 19:24:42 PDT 2023
craig.topper added inline comments.
================
Comment at: llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vselect.ll:62
+; RV64-NEXT: vsetivli zero, 6, e32, m2, ta, mu
+; RV64-NEXT: vle32.v v8, (a0), v0.t
; RV64-NEXT: vse32.v v8, (a3)
----------------
I think this shows the bug. This is a ta load, formed from a vl=6 load and vl=8 merge both ta. Elements 6 and 7 are now part of the tail after merging. Elements 6 and 7 were defined if the mask was 0 for those elements. We're now ignoring mask bits 6 and 7 with the reduce vl. So we need to use tu to make them defined.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D155071/new/
https://reviews.llvm.org/D155071
More information about the llvm-commits
mailing list