[PATCH] D116584: [RISCV] Block vmsleu.vx/vmsgeu.vi with 0 immediate in Isel
Craig Topper via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Tue Jan 4 19:56:26 PST 2022
craig.topper added inline comments.
================
Comment at: llvm/lib/Target/RISCV/RISCVISelDAGToDAG.cpp:817
break;
+ case Intrinsic::riscv_vmsltu: {
+ SDValue Src1 = Node->getOperand(1);
----------------
Chenbing.Zheng wrote:
> craig.topper wrote:
> > This could be done by using a new version of simm5_plus1 that excludes 0 in VPatCompare_VI for the vmsltu case.
> New simm5_plus1 excludes 0, and I Keep pattern "defm : VPatCompareUnsignedZero<"int_riscv_vmsltu", "PseudoVMSNE">" to match vmsltu 0,and del this two case. Understanding right ?
Remove the VPatCOmpareUnisignedZero. The vmsltu.vx will then be able to match. The 0 will select to X0.
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D116584/new/
https://reviews.llvm.org/D116584
More information about the llvm-commits
mailing list