[llvm] 67c3cb4 - AMDGPU: Use an explicit triple in test to avoid bot failures

Matt Arsenault via llvm-commits llvm-commits at lists.llvm.org
Fri Nov 10 00:10:07 PST 2023


Author: Matt Arsenault
Date: 2023-11-10T17:09:55+09:00
New Revision: 67c3cb4f6b9adc4dffe67a3fff1933193cf52bbc

URL: https://github.com/llvm/llvm-project/commit/67c3cb4f6b9adc4dffe67a3fff1933193cf52bbc
DIFF: https://github.com/llvm/llvm-project/commit/67c3cb4f6b9adc4dffe67a3fff1933193cf52bbc.diff

LOG: AMDGPU: Use an explicit triple in test to avoid bot failures

Added: 
    

Modified: 
    llvm/test/CodeGen/AMDGPU/function-args-inreg.ll

Removed: 
    


################################################################################
diff  --git a/llvm/test/CodeGen/AMDGPU/function-args-inreg.ll b/llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
index 84287b5e4458dee..14d98c848119719 100644
--- a/llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
+++ b/llvm/test/CodeGen/AMDGPU/function-args-inreg.ll
@@ -1,5 +1,6 @@
-; RUN: llc -march=amdgcn -mcpu=gfx900 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GFX9 %s
-; RUN: llc -march=amdgcn -mcpu=gfx1100 -verify-machineinstrs < %s | FileCheck -enable-var-scope -check-prefixes=GFX11 %s
+; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py UTC_ARGS: --version 3
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx900 < %s | FileCheck -enable-var-scope -check-prefix=GFX9 %s
+; RUN: llc -mtriple=amdgcn-amd-amdhsa -mcpu=gfx1100 < %s | FileCheck -enable-var-scope -check-prefix=GFX11 %s
 
 define void @void_func_i1_inreg(i1 inreg %arg0) #0 {
 ; GFX9-LABEL: void_func_i1_inreg:
@@ -83,18 +84,19 @@ define void @void_func_i32_inreg(i32 inreg %arg0) #0 {
 define void @void_func_i64_inreg(i64 inreg %arg0) #0 {
 ; GFX9-LABEL: void_func_i64_inreg:
 ; GFX9:       ; %bb.0:
-; GFX9-NEXT:       s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v0, s4
-; GFX9-NEXT:       v_mov_b32_e32 v1, s5
-; GFX9-NEXT:       global_store_dwordx2 v[0:1], v[0:1], off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       s_setpc_b64 s[30:31]
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v0, s4
+; GFX9-NEXT:    v_mov_b32_e32 v1, s5
+; GFX9-NEXT:    global_store_dwordx2 v[0:1], v[0:1], off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11:      ; %bb.0:
-; GFX11-NEXT:      s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-NEXT:      v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s1
-; GFX11-NEXT:      global_store_b64 v[0:1], v[0:1], off
-; GFX11-NEXT:      s_setpc_b64 s[30:31]
+; GFX11-LABEL: void_func_i64_inreg:
+; GFX11:       ; %bb.0:
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_dual_mov_b32 v0, s0 :: v_dual_mov_b32 v1, s1
+; GFX11-NEXT:    global_store_b64 v[0:1], v[0:1], off
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
   store i64 %arg0, ptr addrspace(1) undef
   ret void
 }
@@ -209,6 +211,15 @@ define void @void_func_v4i16_inreg(<4 x i16> inreg %arg0) #0 {
 ; GFX89-NEXT:    s_waitcnt vmcnt(0)
 ; GFX89-NEXT:    s_setpc_b64 s[30:31]
 ;
+; GFX9-LABEL: void_func_v4i16_inreg:
+; GFX9:       ; %bb.0:
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v0, s4
+; GFX9-NEXT:    v_mov_b32_e32 v1, s5
+; GFX9-NEXT:    global_store_dwordx2 v[0:1], v[0:1], off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
+;
 ; GFX11-LABEL: void_func_v4i16_inreg:
 ; GFX11:       ; %bb.0:
 ; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
@@ -423,6 +434,35 @@ define void @void_func_v16i32_inreg(<16 x i32> inreg %arg0) #0 {
 ; CIGFX89-NEXT:    s_waitcnt vmcnt(0)
 ; CIGFX89-NEXT:    s_setpc_b64 s[30:31]
 ;
+; GFX9-LABEL: void_func_v16i32_inreg:
+; GFX9:       ; %bb.0:
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v0, s16
+; GFX9-NEXT:    v_mov_b32_e32 v1, s17
+; GFX9-NEXT:    v_mov_b32_e32 v2, s18
+; GFX9-NEXT:    v_mov_b32_e32 v3, s19
+; GFX9-NEXT:    global_store_dwordx4 v[0:1], v[0:3], off
+; GFX9-NEXT:    s_nop 0
+; GFX9-NEXT:    v_mov_b32_e32 v0, s12
+; GFX9-NEXT:    v_mov_b32_e32 v1, s13
+; GFX9-NEXT:    v_mov_b32_e32 v2, s14
+; GFX9-NEXT:    v_mov_b32_e32 v3, s15
+; GFX9-NEXT:    global_store_dwordx4 v[0:1], v[0:3], off
+; GFX9-NEXT:    s_nop 0
+; GFX9-NEXT:    v_mov_b32_e32 v0, s8
+; GFX9-NEXT:    v_mov_b32_e32 v1, s9
+; GFX9-NEXT:    v_mov_b32_e32 v2, s10
+; GFX9-NEXT:    v_mov_b32_e32 v3, s11
+; GFX9-NEXT:    global_store_dwordx4 v[0:1], v[0:3], off
+; GFX9-NEXT:    s_nop 0
+; GFX9-NEXT:    v_mov_b32_e32 v0, s4
+; GFX9-NEXT:    v_mov_b32_e32 v1, s5
+; GFX9-NEXT:    v_mov_b32_e32 v2, s6
+; GFX9-NEXT:    v_mov_b32_e32 v3, s7
+; GFX9-NEXT:    global_store_dwordx4 v[0:1], v[0:3], off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
+;
 ; GFX11-LABEL: void_func_v16i32_inreg:
 ; GFX11:       ; %bb.0:
 ; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
@@ -1484,106 +1524,102 @@ define void @void_func_v32i32_v2i32_v2f32_inreg(<32 x i32> inreg %arg0, <2 x i32
 }
 
 define void @too_many_args_use_workitem_id_x_inreg(
-  i32 inreg %arg0, i32 inreg %arg1, i32 inreg %arg2, i32 inreg %arg3, i32 inreg %arg4, i32 inreg %arg5, i32 inreg %arg6, i32 inreg %arg7,
-  i32 inreg %arg8, i32 inreg %arg9, i32 inreg %arg10, i32 inreg %arg11, i32 inreg %arg12, i32 inreg %arg13, i32 inreg %arg14, i32 inreg %arg15,
-  i32 inreg %arg16, i32 inreg %arg17, i32 inreg %arg18, i32 inreg %arg19, i32 inreg %arg20, i32 inreg %arg21, i32 inreg %arg22, i32 inreg %arg23,
-  i32 inreg %arg24, i32 inreg %arg25, i32 inreg %arg26, i32 inreg %arg27, i32 inreg %arg28, i32 inreg %arg29, i32 inreg %arg30, i32 inreg %arg31) {
-; GFX9-LABEL: {{^}}too_many_args_use_workitem_id_x_inreg:
-; GFX9:        ; %bb.0:
-; GFX9-NEXT:       s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s4
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s5
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s6
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s7
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s8
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s9
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s10
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s11
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s12
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s13
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s14
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s15
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s16
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s17
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s18
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s19
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s20
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s21
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s22
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s23
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s24
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s25
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s26
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s27
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s28
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       v_mov_b32_e32 v6, s29
-; GFX9-NEXT:       global_store_dword v[0:1], v6, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v0, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v1, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v2, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v3, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v4, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       global_store_dword v[0:1], v5, off
-; GFX9-NEXT:       s_waitcnt vmcnt(0)
-; GFX9-NEXT:       s_setpc_b64 s[30:31]
+; GFX9-LABEL: too_many_args_use_workitem_id_x_inreg:
+; GFX9:       ; %bb.0:
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s4
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s5
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s6
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s7
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s8
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s9
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s10
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s11
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s12
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s13
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s14
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s15
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s16
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s17
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s18
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s19
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s20
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s21
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s22
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s23
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s24
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s25
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s26
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s27
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s28
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v6, s29
+; GFX9-NEXT:    global_store_dword v[0:1], v6, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v0, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v1, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v2, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v3, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v4, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    global_store_dword v[0:1], v5, off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
-; GFX11-LABEL: {{^}}too_many_args_use_workitem_id_x_inreg:
+; GFX11-LABEL: too_many_args_use_workitem_id_x_inreg:
 ; GFX11:       ; %bb.0:
 ; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
 ; GFX11-NEXT:    v_dual_mov_b32 v2, s0 :: v_dual_mov_b32 v3, s1
@@ -1669,6 +1705,10 @@ define void @too_many_args_use_workitem_id_x_inreg(
 ; GFX11-NEXT:    global_store_b32 v[0:1], v1, off dlc
 ; GFX11-NEXT:    s_waitcnt_vscnt null, 0x0
 ; GFX11-NEXT:    s_setpc_b64 s[30:31]
+  i32 inreg %arg0, i32 inreg %arg1, i32 inreg %arg2, i32 inreg %arg3, i32 inreg %arg4, i32 inreg %arg5, i32 inreg %arg6, i32 inreg %arg7,
+  i32 inreg %arg8, i32 inreg %arg9, i32 inreg %arg10, i32 inreg %arg11, i32 inreg %arg12, i32 inreg %arg13, i32 inreg %arg14, i32 inreg %arg15,
+  i32 inreg %arg16, i32 inreg %arg17, i32 inreg %arg18, i32 inreg %arg19, i32 inreg %arg20, i32 inreg %arg21, i32 inreg %arg22, i32 inreg %arg23,
+  i32 inreg %arg24, i32 inreg %arg25, i32 inreg %arg26, i32 inreg %arg27, i32 inreg %arg28, i32 inreg %arg29, i32 inreg %arg30, i32 inreg %arg31) {
   ;%val = call i32 @llvm.amdgcn.workitem.id.x()
   ;store volatile i32 %val, ptr addrspace(1) undef
 
@@ -1714,24 +1754,24 @@ define void @too_many_args_use_workitem_id_x_inreg(
 define void @void_func_i32_v2float_inreg(i32 inreg %arg0, <2 x float> inreg %arg1) #0 {
 ; GFX9-LABEL: void_func_i32_v2float_inreg:
 ; GFX9:       ; %bb.0:
-; GFX9-NEXT:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-NEXT:  v_mov_b32_e32 v0, s4
-; GFX9-NEXT:  global_store_dword v[0:1], v0, off
-; GFX9-NEXT:  v_mov_b32_e32 v0, s5
-; GFX9-NEXT:  v_mov_b32_e32 v1, s6
-; GFX9-NEXT:  global_store_dwordx2 v[0:1], v[0:1], off
-; GFX9-NEXT:  s_waitcnt vmcnt(0)
-; GFX9-NEXT:  s_setpc_b64 s[30:31]
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    v_mov_b32_e32 v0, s4
+; GFX9-NEXT:    global_store_dword v[0:1], v0, off
+; GFX9-NEXT:    v_mov_b32_e32 v0, s5
+; GFX9-NEXT:    v_mov_b32_e32 v1, s6
+; GFX9-NEXT:    global_store_dwordx2 v[0:1], v[0:1], off
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-LABEL: void_func_i32_v2float_inreg:
 ; GFX11:       ; %bb.0:
-; GFX11-NEXT:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX11-NEXT:  v_dual_mov_b32 v2, s0 :: v_dual_mov_b32 v1, s2
-; GFX11-NEXT:  v_mov_b32_e32 v0, s1
-; GFX11-NEXT:  s_clause 0x1
-; GFX11-NEXT:  global_store_b32 v[0:1], v2, off
-; GFX11-NEXT:  global_store_b64 v[0:1], v[0:1], off
-; GFX11-NEXT:  s_setpc_b64 s[30:31]
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    v_dual_mov_b32 v2, s0 :: v_dual_mov_b32 v1, s2
+; GFX11-NEXT:    v_mov_b32_e32 v0, s1
+; GFX11-NEXT:    s_clause 0x1
+; GFX11-NEXT:    global_store_b32 v[0:1], v2, off
+; GFX11-NEXT:    global_store_b64 v[0:1], v[0:1], off
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
   store i32 %arg0, ptr addrspace(1) undef
   store <2 x float> %arg1, ptr addrspace(1) undef
   ret void
@@ -1740,38 +1780,65 @@ define void @void_func_i32_v2float_inreg(i32 inreg %arg0, <2 x float> inreg %arg
 define void @caller_void_func_i32_v2float_inreg(i32 inreg %arg0, <2 x float> inreg %arg1) #0 {
 ; GFX9-LABEL: caller_void_func_i32_v2float_inreg:
 ; GFX9:       ; %bb.0:
-; GFX9-NEXT:  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
-; GFX9-NEXT:  s_mov_b32 s7, s33
-; GFX9-NEXT:  s_mov_b32 s33, s32
-; GFX9-NEXT:  s_or_saveexec_b64 s[8:9], -1
-; GFX9-NEXT:  buffer_store_dword v40, off, s[0:3], s33 ; 4-byte Folded Spill
-; GFX9-NEXT:  s_mov_b64 exec, s[8:9]
-; GFX9-NEXT:  s_addk_i32 s32, 0x400
-; GFX9-NEXT:  s_getpc_b64 s[8:9]
-; GFX9-NEXT:  s_add_u32 s8, s8, caller_void_func_i32_v2float_inreg at gotpcrel32@lo+4
-; GFX9-NEXT:  s_addc_u32 s9, s9, caller_void_func_i32_v2float_inreg at gotpcrel32@hi+12
-; GFX9-NEXT:  s_load_dwordx2 s[8:9], s[8:9], 0x0
-; GFX9-NEXT:  v_writelane_b32 v40, s7, 2
-; GFX9-NEXT:  v_writelane_b32 v40, s30, 0
-; GFX9-NEXT:  s_mov_b32 s2, s6
-; GFX9-NEXT:  s_mov_b32 s1, s5
-; GFX9-NEXT:  s_mov_b32 s0, s4
-; GFX9-NEXT:  v_writelane_b32 v40, s31, 1
-; GFX9-NEXT:  s_waitcnt lgkmcnt(0)
-; GFX9-NEXT:  s_swappc_b64 s[30:31], s[8:9]
-; GFX9-NEXT:  v_readlane_b32 s31, v40, 1
-; GFX9-NEXT:  v_readlane_b32 s30, v40, 0
-; GFX9-NEXT:  v_readlane_b32 s4, v40, 2
-; GFX9-NEXT:  s_or_saveexec_b64 s[6:7], -1
-; GFX9-NEXT:  buffer_load_dword v40, off, s[0:3], s33 ; 4-byte Folded Reload
-; GFX9-NEXT:  s_mov_b64 exec, s[6:7]
-; GFX9-NEXT:  s_addk_i32 s32, 0xfc00
-; GFX9-NEXT:  s_mov_b32 s33, s4
-; GFX9-NEXT:  s_waitcnt vmcnt(0)
-; GFX9-NEXT:  s_setpc_b64 s[30:31]
+; GFX9-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX9-NEXT:    s_mov_b32 s7, s33
+; GFX9-NEXT:    s_mov_b32 s33, s32
+; GFX9-NEXT:    s_or_saveexec_b64 s[8:9], -1
+; GFX9-NEXT:    buffer_store_dword v40, off, s[0:3], s33 ; 4-byte Folded Spill
+; GFX9-NEXT:    s_mov_b64 exec, s[8:9]
+; GFX9-NEXT:    s_addk_i32 s32, 0x400
+; GFX9-NEXT:    s_getpc_b64 s[8:9]
+; GFX9-NEXT:    s_add_u32 s8, s8, caller_void_func_i32_v2float_inreg at gotpcrel32@lo+4
+; GFX9-NEXT:    s_addc_u32 s9, s9, caller_void_func_i32_v2float_inreg at gotpcrel32@hi+12
+; GFX9-NEXT:    s_load_dwordx2 s[8:9], s[8:9], 0x0
+; GFX9-NEXT:    v_writelane_b32 v40, s7, 2
+; GFX9-NEXT:    v_writelane_b32 v40, s30, 0
+; GFX9-NEXT:    s_mov_b32 s2, s6
+; GFX9-NEXT:    s_mov_b32 s1, s5
+; GFX9-NEXT:    s_mov_b32 s0, s4
+; GFX9-NEXT:    v_writelane_b32 v40, s31, 1
+; GFX9-NEXT:    s_waitcnt lgkmcnt(0)
+; GFX9-NEXT:    s_swappc_b64 s[30:31], s[8:9]
+; GFX9-NEXT:    v_readlane_b32 s31, v40, 1
+; GFX9-NEXT:    v_readlane_b32 s30, v40, 0
+; GFX9-NEXT:    v_readlane_b32 s4, v40, 2
+; GFX9-NEXT:    s_or_saveexec_b64 s[6:7], -1
+; GFX9-NEXT:    buffer_load_dword v40, off, s[0:3], s33 ; 4-byte Folded Reload
+; GFX9-NEXT:    s_mov_b64 exec, s[6:7]
+; GFX9-NEXT:    s_addk_i32 s32, 0xfc00
+; GFX9-NEXT:    s_mov_b32 s33, s4
+; GFX9-NEXT:    s_waitcnt vmcnt(0)
+; GFX9-NEXT:    s_setpc_b64 s[30:31]
 ;
 ; GFX11-LABEL: caller_void_func_i32_v2float_inreg:
-; GFX11:      ; %bb.0:
+; GFX11:       ; %bb.0:
+; GFX11-NEXT:    s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
+; GFX11-NEXT:    s_mov_b32 s3, s33
+; GFX11-NEXT:    s_mov_b32 s33, s32
+; GFX11-NEXT:    s_or_saveexec_b32 s4, -1
+; GFX11-NEXT:    scratch_store_b32 off, v40, s33 ; 4-byte Folded Spill
+; GFX11-NEXT:    s_mov_b32 exec_lo, s4
+; GFX11-NEXT:    s_add_i32 s32, s32, 16
+; GFX11-NEXT:    s_getpc_b64 s[4:5]
+; GFX11-NEXT:    s_add_u32 s4, s4, caller_void_func_i32_v2float_inreg at gotpcrel32@lo+4
+; GFX11-NEXT:    s_addc_u32 s5, s5, caller_void_func_i32_v2float_inreg at gotpcrel32@hi+12
+; GFX11-NEXT:    v_writelane_b32 v40, s3, 2
+; GFX11-NEXT:    s_load_b64 s[4:5], s[4:5], 0x0
+; GFX11-NEXT:    v_writelane_b32 v40, s30, 0
+; GFX11-NEXT:    v_writelane_b32 v40, s31, 1
+; GFX11-NEXT:    s_waitcnt lgkmcnt(0)
+; GFX11-NEXT:    s_swappc_b64 s[30:31], s[4:5]
+; GFX11-NEXT:    s_delay_alu instid0(VALU_DEP_1)
+; GFX11-NEXT:    v_readlane_b32 s31, v40, 1
+; GFX11-NEXT:    v_readlane_b32 s30, v40, 0
+; GFX11-NEXT:    v_readlane_b32 s0, v40, 2
+; GFX11-NEXT:    s_or_saveexec_b32 s1, -1
+; GFX11-NEXT:    scratch_load_b32 v40, off, s33 ; 4-byte Folded Reload
+; GFX11-NEXT:    s_mov_b32 exec_lo, s1
+; GFX11-NEXT:    s_add_i32 s32, s32, -16
+; GFX11-NEXT:    s_mov_b32 s33, s0
+; GFX11-NEXT:    s_waitcnt vmcnt(0)
+; GFX11-NEXT:    s_setpc_b64 s[30:31]
 ; GFX11-NEXT  s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
 ; GFX11-NEXT  s_mov_b32 s3, s33
 ; GFX11-NEXT  s_mov_b32 s33, s32
@@ -1805,4 +1872,3 @@ define void @caller_void_func_i32_v2float_inreg(i32 inreg %arg0, <2 x float> inr
 
 attributes #0 = { nounwind }
 attributes #1 = { nounwind noinline }
-


        


More information about the llvm-commits mailing list