[PATCH] D74928: AMDGPU/GlobalISel: Fix handling of G_ANYEXT with s1 source

Matt Arsenault via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Fri Feb 21 09:46:54 PST 2020


arsenm marked an inline comment as done.
arsenm added inline comments.


================
Comment at: llvm/test/CodeGen/AMDGPU/GlobalISel/regbankselect-anyext.mir:28
     ; CHECK: [[COPY:%[0-9]+]]:vgpr(s32) = COPY $vgpr0
-    ; CHECK: [[ANYEXT:%[0-9]+]]:vgpr(s64) = G_ANYEXT [[COPY]](s32)
+    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(s32) = COPY [[COPY]](s32)
+    ; CHECK: [[DEF:%[0-9]+]]:vgpr(s32) = G_IMPLICIT_DEF
----------------
foad wrote:
> Why do we get the extra copy? Is this just more cruft that should be cleaned up by a later pass?
Since we told the generic infrastructure this needs to break into 2 32-bit pieces, it created new 32-bit registers for us which we use. We end up with a copy to use it. I think letting the generic code sometimes create the split is just more trouble than it's worth, so I'm considering ripping that out


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

https://reviews.llvm.org/D74928





More information about the llvm-commits mailing list