At some point a merge operand was added to the binary vl ops, so this combine
was using the mask for the VL. This causes a crash when trying to
select the vmv_v_x_vl, which showed up locally when messing about with
selectVSplat, but thankfully in ToT the vmv_v_x_vl gets pattern matched
away into the .vx and .vi operands every time, so there's no noticeable
change.
Details
Details
Diff Detail
Diff Detail
- Repository
- rG LLVM Github Monorepo
Event Timeline
llvm/lib/Target/RISCV/RISCVISelLowering.cpp | ||
---|---|---|
13729 | Not specific to this patch, but I think with D158625 this combine might be doing the same thing as SimplifyDemanded. I.e. SimplifyDemanded has the ability to mark the upper hi bits of a build_pair as undef in a rotr/rotl (but this only seems to work on fixed vectors currently) |
Not specific to this patch, but I think with D158625 this combine might be doing the same thing as SimplifyDemanded. I.e. SimplifyDemanded has the ability to mark the upper hi bits of a build_pair as undef in a rotr/rotl (but this only seems to work on fixed vectors currently)