comparison llvm/test/CodeGen/AMDGPU/frame-setup-without-sgpr-to-vgpr-spills.ll @ 223:5f17cb93ff66 llvm-original

LLVM13 (2021/7/18)
author Shinji KONO <kono@ie.u-ryukyu.ac.jp>
date Sun, 18 Jul 2021 22:43:00 +0900 (2021-07-18)
parents 79ff65ed7e25
children c4bab56944e8
comparison
equal deleted inserted replaced
222:81f6424ef0e3 223:5f17cb93ff66
14 ; SPILL-TO-VGPR-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill 14 ; SPILL-TO-VGPR-NEXT: buffer_store_dword v40, off, s[0:3], s32 offset:4 ; 4-byte Folded Spill
15 ; SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[4:5] 15 ; SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[4:5]
16 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s33, 2 16 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s33, 2
17 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s30, 0 17 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s30, 0
18 ; SPILL-TO-VGPR-NEXT: s_mov_b32 s33, s32 18 ; SPILL-TO-VGPR-NEXT: s_mov_b32 s33, s32
19 ; SPILL-TO-VGPR-NEXT: s_add_u32 s32, s32, 0x400 19 ; SPILL-TO-VGPR-NEXT: s_addk_i32 s32, 0x400
20 ; SPILL-TO-VGPR-NEXT: v_mov_b32_e32 v0, 0 20 ; SPILL-TO-VGPR-NEXT: v_mov_b32_e32 v0, 0
21 ; SPILL-TO-VGPR-NEXT: s_getpc_b64 s[4:5] 21 ; SPILL-TO-VGPR-NEXT: s_getpc_b64 s[4:5]
22 ; SPILL-TO-VGPR-NEXT: s_add_u32 s4, s4, external_void_func_void@rel32@lo+4 22 ; SPILL-TO-VGPR-NEXT: s_add_u32 s4, s4, external_void_func_void@rel32@lo+4
23 ; SPILL-TO-VGPR-NEXT: s_addc_u32 s5, s5, external_void_func_void@rel32@hi+12 23 ; SPILL-TO-VGPR-NEXT: s_addc_u32 s5, s5, external_void_func_void@rel32@hi+12
24 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s31, 1 24 ; SPILL-TO-VGPR-NEXT: v_writelane_b32 v40, s31, 1
25 ; SPILL-TO-VGPR-NEXT: buffer_store_dword v0, off, s[0:3], s33 25 ; SPILL-TO-VGPR-NEXT: buffer_store_dword v0, off, s[0:3], s33
26 ; SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) 26 ; SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0)
27 ; SPILL-TO-VGPR-NEXT: s_swappc_b64 s[30:31], s[4:5] 27 ; SPILL-TO-VGPR-NEXT: s_swappc_b64 s[30:31], s[4:5]
28 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s4, v40, 0 28 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s4, v40, 0
29 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s5, v40, 1 29 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s5, v40, 1
30 ; SPILL-TO-VGPR-NEXT: s_sub_u32 s32, s32, 0x400 30 ; SPILL-TO-VGPR-NEXT: s_addk_i32 s32, 0xfc00
31 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s33, v40, 2 31 ; SPILL-TO-VGPR-NEXT: v_readlane_b32 s33, v40, 2
32 ; SPILL-TO-VGPR-NEXT: s_or_saveexec_b64 s[6:7], -1 32 ; SPILL-TO-VGPR-NEXT: s_or_saveexec_b64 s[6:7], -1
33 ; SPILL-TO-VGPR-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload 33 ; SPILL-TO-VGPR-NEXT: buffer_load_dword v40, off, s[0:3], s32 offset:4 ; 4-byte Folded Reload
34 ; SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[6:7] 34 ; SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[6:7]
35 ; SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) 35 ; SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0)
39 ; NO-SPILL-TO-VGPR: ; %bb.0: 39 ; NO-SPILL-TO-VGPR: ; %bb.0:
40 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0) 40 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) expcnt(0) lgkmcnt(0)
41 ; NO-SPILL-TO-VGPR-NEXT: v_mov_b32_e32 v0, s33 41 ; NO-SPILL-TO-VGPR-NEXT: v_mov_b32_e32 v0, s33
42 ; NO-SPILL-TO-VGPR-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill 42 ; NO-SPILL-TO-VGPR-NEXT: buffer_store_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Spill
43 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b32 s33, s32 43 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b32 s33, s32
44 ; NO-SPILL-TO-VGPR-NEXT: s_add_u32 s32, s32, 0x800 44 ; NO-SPILL-TO-VGPR-NEXT: s_addk_i32 s32, 0x800
45 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 s[6:7], exec 45 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 s[6:7], exec
46 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 exec, 3 46 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 exec, 3
47 ; NO-SPILL-TO-VGPR-NEXT: buffer_store_dword v1, off, s[0:3], s33 offset:16 47 ; NO-SPILL-TO-VGPR-NEXT: buffer_store_dword v1, off, s[0:3], s33 offset:16
48 ; NO-SPILL-TO-VGPR-NEXT: v_writelane_b32 v1, s30, 0 48 ; NO-SPILL-TO-VGPR-NEXT: v_writelane_b32 v1, s30, 0
49 ; NO-SPILL-TO-VGPR-NEXT: v_writelane_b32 v1, s31, 1 49 ; NO-SPILL-TO-VGPR-NEXT: v_writelane_b32 v1, s31, 1
66 ; NO-SPILL-TO-VGPR-NEXT: v_readlane_b32 s4, v1, 0 66 ; NO-SPILL-TO-VGPR-NEXT: v_readlane_b32 s4, v1, 0
67 ; NO-SPILL-TO-VGPR-NEXT: v_readlane_b32 s5, v1, 1 67 ; NO-SPILL-TO-VGPR-NEXT: v_readlane_b32 s5, v1, 1
68 ; NO-SPILL-TO-VGPR-NEXT: buffer_load_dword v1, off, s[0:3], s33 offset:16 68 ; NO-SPILL-TO-VGPR-NEXT: buffer_load_dword v1, off, s[0:3], s33 offset:16
69 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) 69 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0)
70 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[6:7] 70 ; NO-SPILL-TO-VGPR-NEXT: s_mov_b64 exec, s[6:7]
71 ; NO-SPILL-TO-VGPR-NEXT: s_sub_u32 s32, s32, 0x800 71 ; NO-SPILL-TO-VGPR-NEXT: s_addk_i32 s32, 0xf800
72 ; NO-SPILL-TO-VGPR-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload 72 ; NO-SPILL-TO-VGPR-NEXT: buffer_load_dword v0, off, s[0:3], s32 offset:12 ; 4-byte Folded Reload
73 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0) 73 ; NO-SPILL-TO-VGPR-NEXT: s_waitcnt vmcnt(0)
74 ; NO-SPILL-TO-VGPR-NEXT: v_readfirstlane_b32 s33, v0 74 ; NO-SPILL-TO-VGPR-NEXT: v_readfirstlane_b32 s33, v0
75 ; NO-SPILL-TO-VGPR-NEXT: s_setpc_b64 s[4:5] 75 ; NO-SPILL-TO-VGPR-NEXT: s_setpc_b64 s[4:5]
76 %alloca = alloca i32, addrspace(5) 76 %alloca = alloca i32, addrspace(5)