[PATCH] D102687: [RISCV] Ensure shuffle splat operands are type-legal
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue May 18 09:52:49 PDT 2021
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelLowering.cpp:1853
// encounter a bitcasted BUILD_VECTOR with low/high i32 values.
- if (SDValue SplatValue = DAG.getSplatValue(V1)) {
+ SDValue SplatValue = DAG.getSplatValue(V1);
+ if (SplatValue && (isa<ConstantSDNode>(SplatValue) ||
----------------
This still creates the illegal type. The node just ends up unused with this patch and gets deleted before anyone notices?
Could we call getSplatSourceVector instead and create an XLenVT extract_vector_elt ourselves? Or teach getSplatValue to obey NewNodesMustHaveLegalTypes.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D102687/new/
https://reviews.llvm.org/D102687
More information about the llvm-commits
mailing list