[llvm] [AMDGPU] Handle hazard in v_cvt_scalef32_pk_{fp|bf}8_{f|bf}16. (PR #140218)

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri May 16 05:16:35 PDT 2025


================
@@ -381,11 +381,30 @@ body:             |
 ...
 
 ---
-name:            test_cvt_scalef32_pk_fp8_f16_hazard
+name:            test_cvt_scalef32_pk_fp8_f16_hazard_write_low_half
 body:             |
   bb.0:
     liveins: $vgpr0, $vgpr1, $vgpr2
-    ; GCN-LABEL: name: test_cvt_scalef32_pk_fp8_f16_hazard
+    ; GCN-LABEL: name: test_cvt_scalef32_pk_fp8_f16_hazard_write_low_half
+    ; GCN: liveins: $vgpr0, $vgpr1, $vgpr2
+    ; GCN-NEXT: {{  $}}
+    ; GCN-NEXT: S_WAITCNT 0
+    ; GCN-NEXT: renamable $vgpr0 = V_CVT_SCALEF32_PK_FP8_F16_e64 0, killed $vgpr1, 0, killed $vgpr2, killed $vgpr0, 0, implicit $mode, implicit $exec
+    ; GCN-NEXT: S_NOP 0
+    ; GCN-NEXT: renamable $vgpr0 = V_PK_ADD_U16 8, killed $vgpr0, 8, $vgpr0, 0, 0, 0, 0, 0, implicit $exec
+    ; GCN-NEXT: S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr0
+    S_WAITCNT 0
+    renamable $vgpr0 = V_CVT_SCALEF32_PK_FP8_F16_e64 0, killed $vgpr1, 0, killed $vgpr2, killed $vgpr0, 0, implicit $mode, implicit $exec
+    renamable $vgpr0 = V_PK_ADD_U16 8, killed $vgpr0, 8, $vgpr0, 0, 0, 0, 0, 0, implicit $exec
+    S_SETPC_B64_return undef $sgpr30_sgpr31, implicit killed $vgpr0
+...
----------------
arsenm wrote:

You handle 4 opcodes so should have at least a test for each one 

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


More information about the llvm-commits mailing list