[llvm] AMDGPU: Delete redundant recursive copy handling code (PR #157032)

Joe Nash via llvm-commits llvm-commits at lists.llvm.org
Fri Sep 26 08:38:00 PDT 2025


================
@@ -48,7 +48,9 @@ body:             |
     ; CHECK-LABEL: name: sgpr_lo16
     ; CHECK: [[DEF:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
     ; CHECK-NEXT: [[DEF1:%[0-9]+]]:sreg_32 = IMPLICIT_DEF
-    ; CHECK-NEXT: [[V_ALIGNBIT_B32_t16_e64_:%[0-9]+]]:vgpr_32 = V_ALIGNBIT_B32_t16_e64 0, [[DEF]], 0, killed [[DEF1]], 0, 30, 0, 0, implicit $exec
+    ; CHECK-NEXT: [[S_MOV_B32_:%[0-9]+]]:sreg_32 = S_MOV_B32 30
+    ; CHECK-NEXT: [[COPY:%[0-9]+]]:vgpr_16 = COPY [[S_MOV_B32_]]
----------------
Sisyph wrote:

The output before this patch is legal, the output after is not, we don't have an instruction that can lower` vgpr_16 = COPY sgpr_32`. The impression I'm getting is that the code that is deleted in this patch is required for true16 correctness, at least for now. There is a separate issue that is causing an incorrect fold into v_bfi_b32, maybe this other patch (https://github.com/llvm/llvm-project/pull/157032)  is the fix or part of it 

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


More information about the llvm-commits mailing list