Skip to content

Commit e4b173f

Browse files
committed
[AMDGPU][SIPreEmitPeephole] Precommit test
1 parent 0a7e048 commit e4b173f

File tree

1 file changed

+89
-0
lines changed

1 file changed

+89
-0
lines changed
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -run-pass=si-pre-emit-peephole %s -o - | FileCheck %s
3+
# Do no remove S_CBRANCH_EXECZ if the following block contains an unconditional
4+
# branch to a block other than the one immediately following it.
5+
6+
---
7+
name: test
8+
body: |
9+
; CHECK-LABEL: name: test
10+
; CHECK: bb.0:
11+
; CHECK-NEXT: successors: %bb.5(0x40000000), %bb.1(0x40000000)
12+
; CHECK-NEXT: liveins: $vgpr0, $vgpr1
13+
; CHECK-NEXT: {{ $}}
14+
; CHECK-NEXT: $sgpr0_sgpr1 = S_MOV_B64 $exec
15+
; CHECK-NEXT: V_CMPX_EQ_U32_nosdst_e32 0, killed $vgpr0, implicit-def $exec, implicit $exec
16+
; CHECK-NEXT: S_CBRANCH_EXECZ %bb.5, implicit $exec
17+
; CHECK-NEXT: {{ $}}
18+
; CHECK-NEXT: bb.1:
19+
; CHECK-NEXT: successors: %bb.2(0x80000000)
20+
; CHECK-NEXT: liveins: $vgpr1, $sgpr0_sgpr1
21+
; CHECK-NEXT: {{ $}}
22+
; CHECK-NEXT: renamable $sgpr2_sgpr3 = IMPLICIT_DEF
23+
; CHECK-NEXT: renamable $sgpr4_sgpr5 = IMPLICIT_DEF
24+
; CHECK-NEXT: S_BRANCH %bb.2
25+
; CHECK-NEXT: {{ $}}
26+
; CHECK-NEXT: bb.2:
27+
; CHECK-NEXT: successors: %bb.3(0x40000000)
28+
; CHECK-NEXT: liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3, $sgpr4_sgpr5
29+
; CHECK-NEXT: {{ $}}
30+
; CHECK-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
31+
; CHECK-NEXT: {{ $}}
32+
; CHECK-NEXT: bb.3:
33+
; CHECK-NEXT: successors: %bb.1(0x80000000)
34+
; CHECK-NEXT: liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3
35+
; CHECK-NEXT: {{ $}}
36+
; CHECK-NEXT: renamable $sgpr4_sgpr5 = IMPLICIT_DEF
37+
; CHECK-NEXT: S_BRANCH %bb.1
38+
; CHECK-NEXT: {{ $}}
39+
; CHECK-NEXT: bb.4:
40+
; CHECK-NEXT: successors: %bb.5(0x80000000)
41+
; CHECK-NEXT: liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3
42+
; CHECK-NEXT: {{ $}}
43+
; CHECK-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr2_sgpr3, implicit-def $scc
44+
; CHECK-NEXT: {{ $}}
45+
; CHECK-NEXT: bb.5:
46+
; CHECK-NEXT: liveins: $vgpr1, $sgpr0_sgpr1
47+
; CHECK-NEXT: {{ $}}
48+
; CHECK-NEXT: $exec = S_OR_B64 $exec, killed renamable $sgpr0_sgpr1, implicit-def $scc
49+
; CHECK-NEXT: renamable $vgpr0 = V_CVT_F32_U32_e32 killed $vgpr1, implicit $mode, implicit $exec
50+
; CHECK-NEXT: SI_RETURN_TO_EPILOG killed $vgpr0
51+
bb.0:
52+
liveins: $vgpr0, $vgpr1
53+
54+
$sgpr0_sgpr1 = S_MOV_B64 $exec
55+
V_CMPX_EQ_U32_nosdst_e32 0, killed $vgpr0, implicit-def $exec, implicit $exec
56+
S_CBRANCH_EXECZ %bb.5, implicit $exec
57+
58+
bb.1:
59+
liveins: $vgpr1, $sgpr0_sgpr1
60+
61+
renamable $sgpr2_sgpr3 = IMPLICIT_DEF
62+
renamable $sgpr4_sgpr5 = IMPLICIT_DEF
63+
S_BRANCH %bb.2
64+
65+
bb.2:
66+
liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3, $sgpr4_sgpr5
67+
68+
$exec = S_OR_B64 $exec, killed renamable $sgpr4_sgpr5, implicit-def $scc
69+
S_CBRANCH_EXECZ %bb.4, implicit $exec
70+
71+
bb.3:
72+
liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3
73+
74+
renamable $sgpr4_sgpr5 = IMPLICIT_DEF
75+
S_BRANCH %bb.1
76+
77+
bb.4:
78+
liveins: $vgpr1, $sgpr0_sgpr1, $sgpr2_sgpr3
79+
80+
$exec = S_OR_B64 $exec, killed renamable $sgpr2_sgpr3, implicit-def $scc
81+
82+
bb.5:
83+
liveins: $vgpr1, $sgpr0_sgpr1
84+
85+
$exec = S_OR_B64 $exec, killed renamable $sgpr0_sgpr1, implicit-def $scc
86+
renamable $vgpr0 = V_CVT_F32_U32_e32 killed $vgpr1, implicit $mode, implicit $exec
87+
SI_RETURN_TO_EPILOG killed $vgpr0
88+
89+
...

0 commit comments

Comments
 (0)