[PATCH] D122875: [DAGCombiner] Scalarize extend/truncate for splat vector.

Jianjian Guan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 1 23:53:31 PDT 2022


jacquesguan added inline comments.


================
Comment at: llvm/test/CodeGen/RISCV/rvv/vnsra-sdnode.ll:33
+; RV64-NEXT:    vncvt.x.x.w v8, v8
+; RV64-NEXT:    ret
   %head = insertelement <vscale x 1 x i32> poison, i32 %b, i32 0
----------------
frasercrmck wrote:
> jacquesguan wrote:
> > RKSimon wrote:
> > > Still a regression - can RISCV64 really not be coaxed into generating something better?
> > In order to generate widening instruction, I disable scalarizing of sign_ext and zero_ext, because the scalar type integer extention is easy to combine with other node, make it won't match the pattern.
> Do you think there's any way to fix it?
I think if we change the widen pattern to DAG combiner, maybe could generte some, but common DAG folder may fold extend to  for others example: ext_inreg firstly. So more condition we need to consider


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D122875/new/

https://reviews.llvm.org/D122875



More information about the llvm-commits mailing list