[PATCH] D158625: [RISCV] Use vmv.v.x if Hi bits are undef when lowering splat_vector_parts
Luke Lau via Phabricator via llvm-commits
llvm-commits at lists.llvm.org
Wed Aug 23 08:22:05 PDT 2023
luke created this revision.
luke added reviewers: craig.topper, reames, frasercrmck.
Herald added subscribers: jobnoorman, asb, sunshaoce, pmatos, VincentWu, vkmr, luismarques, apazos, sameer.abuasal, s.egerton, Jim, benna, psnobl, jocewei, PkmX, the_o, brucehoult, MartinMosbeck, rogfer01, edward-jones, zzheng, jrtc27, shiva0217, kito-cheng, niosHD, sabuasal, simoncook, johnrusso, rbar, hiraditya, arichardson.
Herald added a project: All.
luke requested review of this revision.
Herald added subscribers: llvm-commits, wangpc, alextsao1999, eopXD, MaskRay.
Herald added a project: LLVM.
When lowering a splat_vector_parts, if the hi bits are undefined then we can
splat the lo bits without having to check if it's going to be sign extended or
not, because those bits will be undefined anyway.
I've handled it for both fixed and scalable vectors, but there's no diff
on the scalable vror tests, since the hi bits aren't combined away to
undef in SimplifyDemanded for scalable vectors. I'm not sure why that is.
Repository:
rG LLVM Github Monorepo
https://reviews.llvm.org/D158625
Files:
llvm/lib/Target/RISCV/RISCVISelLowering.cpp
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vrol.ll
llvm/test/CodeGen/RISCV/rvv/fixed-vectors-vror.ll
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D158625.552724.patch
Type: text/x-patch
Size: 23174 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20230823/d4ab944b/attachment.bin>
More information about the llvm-commits
mailing list