[llvm] [NFC][AMDGPU] Update tests to use autogened CHECKs (PR #140311)

Chinmay Deshpande via llvm-commits llvm-commits at lists.llvm.org
Fri May 16 15:03:08 PDT 2025


================
@@ -1,307 +1,528 @@
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 5
 ; RUN: llc -mtriple=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefix=GCN %s
 
-; GCN-LABEL: {{^}}select_and1:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_and_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_and1(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_and1:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_gt_i32 s2, 10
+; GCN-NEXT:    s_cselect_b32 s2, s3, 0
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_and_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 0, i32 -1
   %a = and i32 %y, %s
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_and2:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_and_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_and2(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_and2:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_gt_i32 s2, 10
+; GCN-NEXT:    s_cselect_b32 s2, s3, 0
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_and_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 0, i32 -1
   %a = and i32 %s, %y
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_and3:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_and_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_and3(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_and3:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_lt_i32 s2, 11
+; GCN-NEXT:    s_cselect_b32 s2, s3, 0
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_and_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 -1, i32 0
   %a = and i32 %y, %s
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_and_v4:
-; GCN:     s_cselect_b32 s[[SEL0:[0-9]+]], s{{[0-9]+}}, 0
-; GCN:     s_cselect_b32 s[[SEL1:[0-9]+]], s{{[0-9]+}}, 0
-; GCN:     s_cselect_b32 s[[SEL2:[0-9]+]], s{{[0-9]+}}, 0
-; GCN:     s_cselect_b32 s[[SEL3:[0-9]+]], s{{[0-9]+}}, 0
-; GCN:     v_mov_b32_e32 v[[V0:[0-9]+]], s[[SEL3]]
-; GCN:     v_mov_b32_e32 v[[V1:[0-9]+]], s[[SEL2]]
-; GCN:     v_mov_b32_e32 v[[V2:[0-9]+]], s[[SEL1]]
-; GCN:     v_mov_b32_e32 v[[V3:[0-9]+]], s[[SEL0]]
-; GCN-NOT: v_and_b32
-; GCN:     global_store_dwordx4 v{{[0-9]+}}, v[[[V0]]:[[V3]]]
 define amdgpu_kernel void @select_and_v4(ptr addrspace(1) %p, i32 %x, <4 x i32> %y) {
+; GCN-LABEL: select_and_v4:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dword s8, s[4:5], 0x2c
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x34
+; GCN-NEXT:    s_load_dwordx2 s[6:7], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v4, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_gt_i32 s8, 10
+; GCN-NEXT:    s_cselect_b32 s3, s3, 0
+; GCN-NEXT:    s_cselect_b32 s2, s2, 0
+; GCN-NEXT:    s_cselect_b32 s1, s1, 0
+; GCN-NEXT:    s_cselect_b32 s0, s0, 0
+; GCN-NEXT:    v_mov_b32_e32 v0, s0
+; GCN-NEXT:    v_mov_b32_e32 v1, s1
+; GCN-NEXT:    v_mov_b32_e32 v2, s2
+; GCN-NEXT:    v_mov_b32_e32 v3, s3
+; GCN-NOT:     v_and_b32
+; GCN-NEXT:    global_store_dwordx4 v4, v[0:3], s[6:7]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, <4 x i32> zeroinitializer, <4 x i32> <i32 -1, i32 -1, i32 -1, i32 -1>
   %a = and <4 x i32> %s, %y
   store <4 x i32> %a, ptr addrspace(1) %p, align 32
   ret void
 }
 
-; GCN-LABEL: {{^}}select_or1:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_or_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_or1(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_or1:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_lt_i32 s2, 11
+; GCN-NEXT:    s_cselect_b32 s2, s3, -1
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_or_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 0, i32 -1
   %a = or i32 %y, %s
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_or2:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_or_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_or2(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_or2:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_lt_i32 s2, 11
+; GCN-NEXT:    s_cselect_b32 s2, s3, -1
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_or_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 0, i32 -1
   %a = or i32 %s, %y
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_or3:
-; GCN:     s_cselect_b32 [[SEL:s[0-9]+]], s{{[0-9]+}},
-; GCN:     v_mov_b32_e32 [[VSEL:v[0-9]+]], [[SEL]]
-; GCN-NOT: v_or_b32
-; GCN:     store_dword v{{[0-9]+}}, [[VSEL]], s{{\[[0-9]+:[0-9]+\]}}
 define amdgpu_kernel void @select_or3(ptr addrspace(1) %p, i32 %x, i32 %y) {
+; GCN-LABEL: select_or3:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v0, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_gt_i32 s2, 10
+; GCN-NEXT:    s_cselect_b32 s2, s3, -1
+; GCN-NEXT:    v_mov_b32_e32 v1, s2
+; GCN-NOT:     v_or_b32
+; GCN-NEXT:    global_store_dword v0, v1, s[0:1]
+; GCN-NEXT:    s_endpgm
   %c = icmp slt i32 %x, 11
   %s = select i1 %c, i32 -1, i32 0
   %a = or i32 %y, %s
   store i32 %a, ptr addrspace(1) %p, align 4
   ret void
 }
 
-; GCN-LABEL: {{^}}select_or_v4:
-; GCN:     s_cselect_b32 s[[SEL0:[0-9]+]], s{{[0-9]+}}, -1
-; GCN:     s_cselect_b32 s[[SEL1:[0-9]+]], s{{[0-9]+}}, -1
-; GCN:     s_cselect_b32 s[[SEL2:[0-9]+]], s{{[0-9]+}}, -1
-; GCN:     s_cselect_b32 s[[SEL3:[0-9]+]], s{{[0-9]+}}, -1
-; GCN-NOT: v_or_b32
-; GCN:     v_mov_b32_e32 v[[V0:[0-9]+]], s[[SEL3]]
-; GCN:     v_mov_b32_e32 v[[V1:[0-9]+]], s[[SEL2]]
-; GCN:     v_mov_b32_e32 v[[V2:[0-9]+]], s[[SEL1]]
-; GCN:     v_mov_b32_e32 v[[V3:[0-9]+]], s[[SEL0]]
-; GCN:     global_store_dwordx4 v{{[0-9]+}}, v[[[V0]]:[[V3]]]
 define amdgpu_kernel void @select_or_v4(ptr addrspace(1) %p, i32 %x, <4 x i32> %y) {
+; GCN-LABEL: select_or_v4:
+; GCN:       ; %bb.0:
+; GCN-NEXT:    s_load_dword s8, s[4:5], 0x2c
+; GCN-NEXT:    s_load_dwordx4 s[0:3], s[4:5], 0x34
+; GCN-NEXT:    s_load_dwordx2 s[6:7], s[4:5], 0x24
+; GCN-NEXT:    v_mov_b32_e32 v4, 0
+; GCN-NEXT:    s_waitcnt lgkmcnt(0)
+; GCN-NEXT:    s_cmp_lt_i32 s8, 11
+; GCN-NEXT:    s_cselect_b32 s3, s3, -1
+; GCN-NEXT:    s_cselect_b32 s2, s2, -1
+; GCN-NEXT:    s_cselect_b32 s1, s1, -1
+; GCN-NEXT:    s_cselect_b32 s0, s0, -1
+; GCN-NOT:     v_or_b32
----------------
chinmaydd wrote:

Ah thanks! I'll update the PR to reflect that then.

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


More information about the llvm-commits mailing list