[llvm] [NVPTX] deprecate nvvm.rotate.* intrinsics, cleanup funnel-shift handling (PR #107655)

Alex MacLean via llvm-commits llvm-commits at lists.llvm.org
Sat Sep 21 12:28:41 PDT 2024


AlexMaclean wrote:

@Artem-B, I took a deeper look at this and realize the way we were lowering 64 bit rotation isn't actually correct. 

Here's an alive proof in llvm that shows the expansion is incorrect https://alive2.llvm.org/ce/z/RQVDDG

I've move to just using the SelectionDAG expansion for all rotate instructions, this will properly convert of a 32-bit funnel shift when appropriate and expand to a valid multi-instruction expression otherwise. 

Could you please take another look?

https://github.com/llvm/llvm-project/pull/107655


More information about the llvm-commits mailing list