[llvm] [AMDGPU][NFC] Add gfx12 +cumode coverage to occupancy-levels.ll (PR #214210)

via llvm-commits llvm-commits at lists.llvm.org
Wed Aug 5 05:15:01 PDT 2026


llvmorg-github-actions[bot] wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-backend-amdgpu

Author: Mariusz Sikora (mariusz-sikora-at-amd)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/214210.diff


1 Files Affected:

- (modified) llvm/test/CodeGen/AMDGPU/occupancy-levels.ll (+71-2) 


``````````diff
diff --git a/llvm/test/CodeGen/AMDGPU/occupancy-levels.ll b/llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
index 53d9c49ae087a..22203931528e9 100644
--- a/llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
+++ b/llvm/test/CodeGen/AMDGPU/occupancy-levels.ll
@@ -26,8 +26,10 @@
 ; RUN: llc -mtriple=amdgpu11.52 -mattr=+wavefrontsize64 < %s | FileCheck --check-prefixes=GCN,GFX1030,GFX1030W64 %s
 ; RUN: llc -mtriple=amdgpu11.53 < %s | FileCheck --check-prefixes=GCN,GFX1030,GFX1030W32 %s
 ; RUN: llc -mtriple=amdgpu11.53 -mattr=+wavefrontsize64 < %s | FileCheck --check-prefixes=GCN,GFX1030,GFX1030W64 %s
-; RUN: llc -mtriple=amdgpu12.00 < %s | FileCheck --check-prefixes=GCN,GFX1100,GFX1100W32 %s
-; RUN: llc -mtriple=amdgpu12.00 -mattr=+wavefrontsize64 < %s | FileCheck --check-prefixes=GCN,GFX1100,GFX1100W64 %s
+; RUN: llc -mtriple=amdgpu12.00 < %s | FileCheck --check-prefixes=GCN,GFX1200,GFX1200W32,GFX1200W32WG %s
+; RUN: llc -mtriple=amdgpu12.00 -mattr=+wavefrontsize64 < %s | FileCheck --check-prefixes=GCN,GFX1200,GFX1200W64,GFX1200W64WG %s
+; RUN: llc -mtriple=amdgpu12.00 -mattr=+cumode < %s | FileCheck --check-prefixes=GCN,GFX1200,GFX1200W32,GFX1200W32CU %s
+; RUN: llc -mtriple=amdgpu12.00 -mattr=+wavefrontsize64,+cumode < %s | FileCheck --check-prefixes=GCN,GFX1200,GFX1200W64,GFX1200W64CU %s
 ; RUN: llc -mtriple=amdgpu12.50 < %s | FileCheck --check-prefixes=GCN,GFX1250 %s
 ; RUN: llc -mtriple=amdgpu13.10 < %s | FileCheck --check-prefixes=GCN,GFX1100,GFX1100W32 %s
 
@@ -40,6 +42,7 @@
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @max_occupancy() #10 {
   ret void
@@ -55,6 +58,8 @@ define amdgpu_kernel void @max_occupancy() #10 {
 ; GFX10W32:   ; Occupancy: 4
 ; GFX1100W64: ; Occupancy: 3
 ; GFX1100W32: ; Occupancy: 5
+; GFX1200W32: ; Occupancy: 5
+; GFX1200W64: ; Occupancy: 3
 ; GFX1250:    ; Occupancy: 3
 define amdgpu_kernel void @limited_occupancy_3() #0 {
   ret void
@@ -69,6 +74,7 @@ define amdgpu_kernel void @limited_occupancy_3() #0 {
 ; GFX1010:    ; Occupancy: 18
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @limited_occupancy_18() #1 {
   ret void
@@ -83,6 +89,7 @@ define amdgpu_kernel void @limited_occupancy_18() #1 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @limited_occupancy_19() #2 {
   ret void
@@ -97,6 +104,7 @@ define amdgpu_kernel void @limited_occupancy_19() #2 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_24_vgprs() #10 {
   call void asm sideeffect "", "~{v23}" ()
@@ -113,6 +121,7 @@ define amdgpu_kernel void @used_24_vgprs() #10 {
 ; GFX1010W32: ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_28_vgprs() #10 {
   call void asm sideeffect "", "~{v27}" ()
@@ -129,6 +138,7 @@ define amdgpu_kernel void @used_28_vgprs() #10 {
 ; GFX1010W32: ; Occupancy: 20
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_32_vgprs() #10 {
   call void asm sideeffect "", "~{v31}" ()
@@ -146,6 +156,7 @@ define amdgpu_kernel void @used_32_vgprs() #10 {
 ; GFX1030W64: ; Occupancy: 12
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_36_vgprs() #10 {
   call void asm sideeffect "", "~{v35}" ()
@@ -162,6 +173,7 @@ define amdgpu_kernel void @used_36_vgprs() #10 {
 ; GFX1010W32: ; Occupancy: 20
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_40_vgprs() #10 {
   call void asm sideeffect "", "~{v39}" ()
@@ -179,6 +191,7 @@ define amdgpu_kernel void @used_40_vgprs() #10 {
 ; GFX1030W64: ; Occupancy: 10
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_44_vgprs() #10 {
   call void asm sideeffect "", "~{v43}" ()
@@ -195,6 +208,7 @@ define amdgpu_kernel void @used_44_vgprs() #10 {
 ; GFX1010W32: ; Occupancy: 20
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_48_vgprs() #10 {
   call void asm sideeffect "", "~{v47}" ()
@@ -212,6 +226,8 @@ define amdgpu_kernel void @used_48_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 16
 ; GFX1100W64: ; Occupancy: 12
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 12
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_56_vgprs() #10 {
   call void asm sideeffect "", "~{v55}" ()
@@ -228,6 +244,8 @@ define amdgpu_kernel void @used_56_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 16
 ; GFX1100W64: ; Occupancy: 10
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 10
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_64_vgprs() #10 {
   call void asm sideeffect "", "~{v63}" ()
@@ -245,6 +263,8 @@ define amdgpu_kernel void @used_64_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 12
 ; GFX1100W64: ; Occupancy: 10
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 10
 ; GFX1250:    ; Occupancy: 12
 define amdgpu_kernel void @used_72_vgprs() #10 {
   call void asm sideeffect "", "~{v71}" ()
@@ -261,6 +281,8 @@ define amdgpu_kernel void @used_72_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 12
 ; GFX1100W64: ; Occupancy: 9
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 9
 ; GFX1250:    ; Occupancy: 12
 define amdgpu_kernel void @used_80_vgprs() #10 {
   call void asm sideeffect "", "~{v79}" ()
@@ -279,6 +301,8 @@ define amdgpu_kernel void @used_80_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 10
 ; GFX1100W64: ; Occupancy: 9
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 9
 ; GFX1250:    ; Occupancy: 10
 define amdgpu_kernel void @used_84_vgprs() #10 {
   call void asm sideeffect "", "~{v83}" ()
@@ -296,6 +320,8 @@ define amdgpu_kernel void @used_84_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 10
 ; GFX1100W64: ; Occupancy: 8
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 8
 ; GFX1250:    ; Occupancy: 10
 define amdgpu_kernel void @used_88_vgprs() #10 {
   call void asm sideeffect "", "~{v87}" ()
@@ -312,6 +338,8 @@ define amdgpu_kernel void @used_88_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 10
 ; GFX1100W64: ; Occupancy: 8
 ; GFX1100W32: ; Occupancy: 16
+; GFX1200W32: ; Occupancy: 16
+; GFX1200W64: ; Occupancy: 8
 ; GFX1250:    ; Occupancy: 10
 define amdgpu_kernel void @used_96_vgprs() #10 {
   call void asm sideeffect "", "~{v95}" ()
@@ -329,6 +357,8 @@ define amdgpu_kernel void @used_96_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 9
 ; GFX1100W64: ; Occupancy: 7
 ; GFX1100W32: ; Occupancy: 12
+; GFX1200W32: ; Occupancy: 12
+; GFX1200W64: ; Occupancy: 7
 ; GFX1250:    ; Occupancy: 9
 define amdgpu_kernel void @used_100_vgprs() #10 {
   call void asm sideeffect "", "~{v99}" ()
@@ -345,6 +375,8 @@ define amdgpu_kernel void @used_100_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 9
 ; GFX1100W64: ; Occupancy: 6
 ; GFX1100W32: ; Occupancy: 12
+; GFX1200W32: ; Occupancy: 12
+; GFX1200W64: ; Occupancy: 6
 ; GFX1250:    ; Occupancy: 9
 define amdgpu_kernel void @used_112_vgprs() #10 {
   call void asm sideeffect "", "~{v111}" ()
@@ -361,6 +393,8 @@ define amdgpu_kernel void @used_112_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 8
 ; GFX1100W64: ; Occupancy: 5
 ; GFX1100W32: ; Occupancy: 10
+; GFX1200W32: ; Occupancy: 10
+; GFX1200W64: ; Occupancy: 5
 ; GFX1250:    ; Occupancy: 8
 define amdgpu_kernel void @used_128_vgprs() #10 {
   call void asm sideeffect "", "~{v127}" ()
@@ -377,6 +411,8 @@ define amdgpu_kernel void @used_128_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 7
 ; GFX1100W64: ; Occupancy: 5
 ; GFX1100W32: ; Occupancy: 10
+; GFX1200W32: ; Occupancy: 10
+; GFX1200W64: ; Occupancy: 5
 ; GFX1250:    ; Occupancy: 7
 define amdgpu_kernel void @used_144_vgprs() #10 {
   call void asm sideeffect "", "~{v143}" ()
@@ -394,6 +430,8 @@ define amdgpu_kernel void @used_144_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 5
 ; GFX1100W64: ; Occupancy: 4
 ; GFX1100W32: ; Occupancy: 9
+; GFX1200W32: ; Occupancy: 9
+; GFX1200W64: ; Occupancy: 4
 ; GFX1250:    ; Occupancy: 5
 define amdgpu_kernel void @used_168_vgprs() #10 {
   call void asm sideeffect "", "~{v167}" ()
@@ -411,6 +449,8 @@ define amdgpu_kernel void @used_168_vgprs() #10 {
 ; GFX1030W32: ; Occupancy: 4
 ; GFX1100W64: ; Occupancy: 3
 ; GFX1100W32: ; Occupancy: 7
+; GFX1200W32: ; Occupancy: 7
+; GFX1200W64: ; Occupancy: 3
 ; GFX1250:    ; Occupancy: 4
 define amdgpu_kernel void @used_200_vgprs() #10 {
   call void asm sideeffect "", "~{v199}" ()
@@ -427,6 +467,8 @@ define amdgpu_kernel void @used_200_vgprs() #10 {
 ; GFX10W32:   ; Occupancy: 4
 ; GFX1100W64: ; Occupancy: 2
 ; GFX1100W32: ; Occupancy: 5
+; GFX1200W32: ; Occupancy: 5
+; GFX1200W64: ; Occupancy: 2
 ; GFX1250:    ; Occupancy: 4
 define amdgpu_kernel void @used_256_vgprs() #10 {
   call void asm sideeffect "", "~{v255}" ()
@@ -444,6 +486,7 @@ define amdgpu_kernel void @used_256_vgprs() #10 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_80_sgprs() #10 {
   call void asm sideeffect "", "~{s79}" ()
@@ -461,6 +504,7 @@ define amdgpu_kernel void @used_80_sgprs() #10 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_88_sgprs() #10 {
   call void asm sideeffect "", "~{s87}" ()
@@ -478,6 +522,7 @@ define amdgpu_kernel void @used_88_sgprs() #10 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_100_sgprs() #10 {
   call void asm sideeffect "", "~{s99}" ()
@@ -495,6 +540,7 @@ define amdgpu_kernel void @used_100_sgprs() #10 {
 ; GFX1010:    ; Occupancy: 20
 ; GFX1030:    ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 define amdgpu_kernel void @used_101_sgprs() #10 {
   call void asm sideeffect "", "~{s100}" ()
@@ -511,6 +557,7 @@ define amdgpu_kernel void @used_101_sgprs() #10 {
 ; GFX1030W64: ; Occupancy: 16
 ; GFX10W32:   ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 @lds6552 = internal addrspace(3) global [6552 x i8] poison, align 4
 define amdgpu_kernel void @used_lds_6552() {
@@ -528,6 +575,7 @@ define amdgpu_kernel void @used_lds_6552() {
 ; GFX1030W64: ; Occupancy: 16
 ; GFX10W32:   ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 @lds6556 = internal addrspace(3) global [6556 x i8] poison, align 4
 define amdgpu_kernel void @used_lds_6556() {
@@ -545,6 +593,7 @@ define amdgpu_kernel void @used_lds_6556() {
 ; GFX1030W64: ; Occupancy: 16
 ; GFX10W32:   ; Occupancy: 16
 ; GFX1100:    ; Occupancy: 16
+; GFX1200:    ; Occupancy: 16
 ; GFX1250:    ; Occupancy: 16
 @lds13112 = internal addrspace(3) global [13112 x i8] poison, align 4
 define amdgpu_kernel void @used_lds_13112() {
@@ -562,6 +611,9 @@ define amdgpu_kernel void @used_lds_13112() {
 ; GFX10W32:   ; Occupancy: 8{{$}}
 ; GFX1100W64: ; Occupancy: 4{{$}}
 ; GFX1100W32: ; Occupancy: 8{{$}}
+; GFX1200W32WG: ; Occupancy: 8{{$}}
+; GFX1200W32CU: ; Occupancy: 7{{$}}
+; GFX1200W64: ; Occupancy: 4{{$}}
 ; GFX1250:    ; Occupancy: 8{{$}}
 @lds8252 = internal addrspace(3) global [8252 x i8] poison, align 4
 define amdgpu_kernel void @used_lds_8252_max_group_size_64() #3 {
@@ -579,6 +631,10 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_64() #3 {
 ; GFX10W32:   ; Occupancy: 12{{$}}
 ; GFX1100W64: ; Occupancy: 8{{$}}
 ; GFX1100W32: ; Occupancy: 12{{$}}
+; GFX1200W32WG: ; Occupancy: 12{{$}}
+; GFX1200W32CU: ; Occupancy: 11{{$}}
+; GFX1200W64WG: ; Occupancy: 8{{$}}
+; GFX1200W64CU: ; Occupancy: 7{{$}}
 ; GFX1250:    ; Occupancy: 12{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_96() #4 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -595,6 +651,10 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_96() #4 {
 ; GFX10W32:   ; Occupancy: 15{{$}}
 ; GFX1100W64: ; Occupancy: 8{{$}}
 ; GFX1100W32: ; Occupancy: 15{{$}}
+; GFX1200W32WG: ; Occupancy: 15{{$}}
+; GFX1200W32CU: ; Occupancy: 14{{$}}
+; GFX1200W64WG: ; Occupancy: 8{{$}}
+; GFX1200W64CU: ; Occupancy: 7{{$}}
 ; GFX1250:    ; Occupancy: 16{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_128() #5 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -612,6 +672,9 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_128() #5 {
 ; GFX1030W32: ; Occupancy: 15{{$}}
 ; GFX1100W64: ; Occupancy: 12{{$}}
 ; GFX1100W32: ; Occupancy: 15{{$}}
+; GFX1200W32: ; Occupancy: 15{{$}}
+; GFX1200W64WG: ; Occupancy: 12{{$}}
+; GFX1200W64CU: ; Occupancy: 11{{$}}
 ; GFX1250:    ; Occupancy: 15{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_192() #6 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -629,6 +692,9 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_192() #6 {
 ; GFX1030W32: ; Occupancy: 16{{$}}
 ; GFX1100W64: ; Occupancy: 15{{$}}
 ; GFX1100W32: ; Occupancy: 16{{$}}
+; GFX1200W32: ; Occupancy: 16{{$}}
+; GFX1200W64WG: ; Occupancy: 15{{$}}
+; GFX1200W64CU: ; Occupancy: 14{{$}}
 ; GFX1250:    ; Occupancy: 16{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_256() #7 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -644,6 +710,7 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_256() #7 {
 ; GFX1010:    ; Occupancy: 20{{$}}
 ; GFX1030:    ; Occupancy: 16{{$}}
 ; GFX1100:    ; Occupancy: 16{{$}}
+; GFX1200:    ; Occupancy: 16{{$}}
 ; GFX1250:    ; Occupancy: 16{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_512() #8 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -660,6 +727,7 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_512() #8 {
 ; GFX1010W64: ; Occupancy: 20{{$}}
 ; GFX1030:    ; Occupancy: 16{{$}}
 ; GFX1100:    ; Occupancy: 16{{$}}
+; GFX1200:    ; Occupancy: 16{{$}}
 ; GFX1250:    ; Occupancy: 16{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_1024() #9 {
   store volatile i8 1, ptr addrspace(3) @lds8252
@@ -674,6 +742,7 @@ define amdgpu_kernel void @used_lds_8252_max_group_size_1024() #9 {
 ; GFX950:     ; Occupancy: 5{{$}}
 ; GFX10:      ; Occupancy: 4{{$}}
 ; GFX1100:    ; Occupancy: 4{{$}}
+; GFX1200:    ; Occupancy: 4{{$}}
 ; GFX1250:    ; Occupancy: 8{{$}}
 define amdgpu_kernel void @used_lds_8252_max_group_size_32() #10 {
   store volatile i8 1, ptr addrspace(3) @lds8252

``````````

</details>


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


More information about the llvm-commits mailing list