[PATCH] D124387: AMDGPU: Fold out readfirstlane between vgpr to vgpr copies

Brian Sumner via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Mon Apr 25 09:42:19 PDT 2022


b-sumner added inline comments.


================
Comment at: llvm/lib/Target/AMDGPU/SIFoldOperands.cpp:1858
+        //
+        // => %2 = COPY %0
+        //
----------------
foad wrote:
> This transformation only makes sense if you know that %0 is uniform. I think @nhaehnle has suggested introducing a "readanylane" pseudo and/or intrinsic for that kind of use case.
> 
> I'm not sure if there is any existing code that deliberately uses readfirstlane on a non-uniform argument, but if there is then this will break it.
We use readfirstlane to "elect" a value from the currently active lines.  The argument is likely not uniform, and breaking such code would be problematic.


CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D124387/new/

https://reviews.llvm.org/D124387



More information about the llvm-commits mailing list