Skip to content

Commit 205b401

Browse files
committed
pre commit test
1 parent e7e7494 commit 205b401

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py UTC_ARGS: --version 5
2+
# RUN: llc -mtriple=amdgcn -mcpu=tahiti -run-pass=amdgpu-prelegalizer-combiner %s -o - | FileCheck %s
3+
4+
---
5+
name: test_combine_or_s64_s32
6+
tracksRegLiveness: true
7+
body: |
8+
bb.0:
9+
liveins: $sgpr0_sgpr1, $sgpr2
10+
; CHECK-LABEL: name: test_combine_or_s64_s32
11+
; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
12+
; CHECK-NEXT: {{ $}}
13+
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $sgpr0_sgpr1
14+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
15+
; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY1]](s32)
16+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[COPY]], [[ZEXT]]
17+
; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[OR]](s64)
18+
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
19+
%0:_(s64) = COPY $sgpr0_sgpr1
20+
%1:_(s32) = COPY $sgpr2
21+
%2:_(s64) = G_ZEXT %1(s32)
22+
%3:_(s64) = G_OR %0, %2
23+
$sgpr0_sgpr1 = COPY %3(s64)
24+
SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
25+
...
26+
---
27+
name: test_combine_or_s64_s32_rhs
28+
tracksRegLiveness: true
29+
body: |
30+
bb.0:
31+
liveins: $sgpr0_sgpr1, $sgpr2
32+
; CHECK-LABEL: name: test_combine_or_s64_s32_rhs
33+
; CHECK: liveins: $sgpr0_sgpr1, $sgpr2
34+
; CHECK-NEXT: {{ $}}
35+
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s64) = COPY $sgpr0_sgpr1
36+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr2
37+
; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY1]](s32)
38+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[ZEXT]], [[COPY]]
39+
; CHECK-NEXT: $sgpr0_sgpr1 = COPY [[OR]](s64)
40+
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
41+
%0:_(s64) = COPY $sgpr0_sgpr1
42+
%1:_(s32) = COPY $sgpr2
43+
%2:_(s64) = G_ZEXT %1(s32)
44+
%3:_(s64) = G_OR %2, %0
45+
$sgpr0_sgpr1 = COPY %3(s64)
46+
SI_RETURN_TO_EPILOG implicit $sgpr0_sgpr1
47+
...
48+
---
49+
name: test_combine_or_s64_s32_merge_unmerge
50+
tracksRegLiveness: true
51+
body: |
52+
bb.0:
53+
liveins: $sgpr0, $sgpr1, $sgpr2
54+
; CHECK-LABEL: name: test_combine_or_s64_s32_merge_unmerge
55+
; CHECK: liveins: $sgpr0, $sgpr1, $sgpr2
56+
; CHECK-NEXT: {{ $}}
57+
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s32) = COPY $sgpr0
58+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s32) = COPY $sgpr1
59+
; CHECK-NEXT: [[COPY2:%[0-9]+]]:_(s32) = COPY $sgpr2
60+
; CHECK-NEXT: [[MV:%[0-9]+]]:_(s64) = G_MERGE_VALUES [[COPY]](s32), [[COPY1]](s32)
61+
; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[COPY2]](s32)
62+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s64) = G_OR [[MV]], [[ZEXT]]
63+
; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[OR]](s64)
64+
; CHECK-NEXT: $sgpr0 = COPY [[UV]](s32)
65+
; CHECK-NEXT: $sgpr1 = COPY [[UV1]](s32)
66+
; CHECK-NEXT: SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
67+
%0:_(s32) = COPY $sgpr0
68+
%1:_(s32) = COPY $sgpr1
69+
%2:_(s32) = COPY $sgpr2
70+
%3:_(s64) = G_MERGE_VALUES %0(s32), %1(s32)
71+
%4:_(s64) = G_ZEXT %2(s32)
72+
%5:_(s64) = G_OR %3, %4
73+
%6:_(s32), %7:_(s32) = G_UNMERGE_VALUES %5(s64)
74+
$sgpr0 = COPY %6(s32)
75+
$sgpr1 = COPY %7(s32)
76+
SI_RETURN_TO_EPILOG implicit $sgpr0, implicit $sgpr1
77+
...
78+
---
79+
name: negative_test_incorrect_types
80+
tracksRegLiveness: true
81+
body: |
82+
bb.0:
83+
liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4_vgpr5
84+
; CHECK-LABEL: name: negative_test_incorrect_types
85+
; CHECK: liveins: $vgpr0_vgpr1_vgpr2_vgpr3, $vgpr4_vgpr5
86+
; CHECK-NEXT: {{ $}}
87+
; CHECK-NEXT: [[COPY:%[0-9]+]]:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
88+
; CHECK-NEXT: [[COPY1:%[0-9]+]]:_(s64) = COPY $vgpr4_vgpr5
89+
; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s128) = G_ZEXT [[COPY1]](s64)
90+
; CHECK-NEXT: [[OR:%[0-9]+]]:_(s128) = G_OR [[COPY]], [[ZEXT]]
91+
; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[OR]](s128)
92+
%0:_(s128) = COPY $vgpr0_vgpr1_vgpr2_vgpr3
93+
%1:_(s64) = COPY $vgpr4_vgpr5
94+
%2:_(s128) = G_ZEXT %1
95+
%3:_(s128) = G_OR %0, %2
96+
$vgpr0_vgpr1_vgpr2_vgpr3 = COPY %3
97+
...
98+

0 commit comments

Comments
 (0)