[clang][modules] Don't prevent translation of FW_Private includes when explicitly...
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / legalize-constant.mir
blobfa34420b5ae92abec9ac0c99fcc4adea156641be
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -O0 -run-pass=legalizer %s -o - | FileCheck %s
4 ---
5 name:            test_constant_s32
6 body: |
7   bb.0:
9     ; CHECK-LABEL: name: test_constant_s32
10     ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
11     ; CHECK-NEXT: $vgpr0 = COPY [[C]](s32)
12     %0:_(s32) = G_CONSTANT i32 5
13     $vgpr0 = COPY %0
14 ...
15 ---
16 name:            test_constant_s64
17 body: |
18   bb.0:
20     ; CHECK-LABEL: name: test_constant_s64
21     ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 5
22     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[C]](s64)
23     %0:_(s64) = G_CONSTANT i64 5
24     $vgpr0_vgpr1 = COPY %0
26 ...
28 ---
29 name:            test_constant_s96
30 body: |
31   bb.0:
33     ; CHECK-LABEL: name: test_constant_s96
34     ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 -4780896129847249538
35     ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s32) = G_CONSTANT i32 -547834910
36     ; CHECK-NEXT: [[UV:%[0-9]+]]:_(s32), [[UV1:%[0-9]+]]:_(s32) = G_UNMERGE_VALUES [[C]](s64)
37     ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s96) = G_MERGE_VALUES [[UV]](s32), [[UV1]](s32), [[C1]](s32)
38     ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2 = COPY [[MV]](s96)
39     %0:_(s96) = G_CONSTANT i96  -10105770365747857631829412482
40     $vgpr0_vgpr1_vgpr2 = COPY %0
42 ...
44 ---
45 name:            test_constant_s1
46 body: |
47   bb.0:
49     ; CHECK-LABEL: name: test_constant_s1
50     ; CHECK: [[C:%[0-9]+]]:_(s1) = G_CONSTANT i1 false
51     ; CHECK-NEXT: S_ENDPGM 0, implicit [[C]](s1)
52     %1:_(s1) = G_CONSTANT i1 0
53     S_ENDPGM 0, implicit %1
54 ...
56 ---
57 name:            test_constant_s7
58 body: |
59   bb.0:
61     ; CHECK-LABEL: name: test_constant_s7
62     ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
63     ; CHECK-NEXT: $vgpr0 = COPY [[C]](s32)
64     %0:_(s7) = G_CONSTANT i7 5
65     %1:_(s32) = G_ANYEXT %0
66     $vgpr0 = COPY %1
67 ...
69 ---
70 name:            test_constant_s8
71 body: |
72   bb.0:
74     ; CHECK-LABEL: name: test_constant_s8
75     ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
76     ; CHECK-NEXT: $vgpr0 = COPY [[C]](s32)
77     %0:_(s8) = G_CONSTANT i8 5
78     %1:_(s32) = G_ANYEXT %0
79     $vgpr0 = COPY %1
80 ...
82 ---
83 name:            test_constant_s16
84 body: |
85   bb.0:
87     ; CHECK-LABEL: name: test_constant_s16
88     ; CHECK: [[C:%[0-9]+]]:_(s32) = G_CONSTANT i32 5
89     ; CHECK-NEXT: $vgpr0 = COPY [[C]](s32)
90     %0:_(s16) = G_CONSTANT i16 5
91     %1:_(s32) = G_ANYEXT %0
92     $vgpr0 = COPY %1
93 ...
95 ---
96 name:            test_constant_s128
97 body: |
98   bb.0:
100     ; CHECK-LABEL: name: test_constant_s128
101     ; CHECK: [[C:%[0-9]+]]:_(s64) = G_CONSTANT i64 5
102     ; CHECK-NEXT: [[C1:%[0-9]+]]:_(s64) = G_CONSTANT i64 0
103     ; CHECK-NEXT: [[MV:%[0-9]+]]:_(s128) = G_MERGE_VALUES [[C]](s64), [[C1]](s64)
104     ; CHECK-NEXT: $vgpr0_vgpr1_vgpr2_vgpr3 = COPY [[MV]](s128)
105     %0:_(s128) = G_CONSTANT i128 5
106     $vgpr0_vgpr1_vgpr2_vgpr3 = COPY %0
110 name: test_constant_p0
111 body: |
112   bb.0:
114     ; CHECK-LABEL: name: test_constant_p0
115     ; CHECK: [[C:%[0-9]+]]:_(p0) = G_CONSTANT i64 0
116     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[C]](p0)
117     %0:_(p0) = G_CONSTANT i64 0
118     $vgpr0_vgpr1 = COPY %0
122 name: test_constant_p1
123 body: |
124   bb.0:
126     ; CHECK-LABEL: name: test_constant_p1
127     ; CHECK: [[C:%[0-9]+]]:_(p1) = G_CONSTANT i64 0
128     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[C]](p1)
129     %0:_(p1) = G_CONSTANT i64 0
130     $vgpr0_vgpr1 = COPY %0
134 name: test_constant_p2
135 body: |
136   bb.0:
138     ; CHECK-LABEL: name: test_constant_p2
139     ; CHECK: [[C:%[0-9]+]]:_(p2) = G_CONSTANT i32 0
140     ; CHECK-NEXT: $vgpr0 = COPY [[C]](p2)
141     %0:_(p2) = G_CONSTANT i32 0
142     $vgpr0 = COPY %0
146 name: test_constant_p3
147 body: |
148   bb.0:
150     ; CHECK-LABEL: name: test_constant_p3
151     ; CHECK: [[C:%[0-9]+]]:_(p2) = G_CONSTANT i32 0
152     ; CHECK-NEXT: $vgpr0 = COPY [[C]](p2)
153     %0:_(p2) = G_CONSTANT i32 0
154     $vgpr0 = COPY %0
158 name: test_constant_p4
159 body: |
160   bb.0:
162     ; CHECK-LABEL: name: test_constant_p4
163     ; CHECK: [[C:%[0-9]+]]:_(p4) = G_CONSTANT i64 0
164     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[C]](p4)
165     %0:_(p4) = G_CONSTANT i64 0
166     $vgpr0_vgpr1 = COPY %0
170 name: test_constant_p5
171 body: |
172   bb.0:
174     ; CHECK-LABEL: name: test_constant_p5
175     ; CHECK: [[C:%[0-9]+]]:_(p5) = G_CONSTANT i32 0
176     ; CHECK-NEXT: $vgpr0 = COPY [[C]](p5)
177     %0:_(p5) = G_CONSTANT i32 0
178     $vgpr0 = COPY %0
182 name: test_constant_p999
183 body: |
184   bb.0:
186     ; CHECK-LABEL: name: test_constant_p999
187     ; CHECK: [[C:%[0-9]+]]:_(p999) = G_CONSTANT i64 0
188     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[C]](p999)
189     %0:_(p999) = G_CONSTANT i64 0
190     $vgpr0_vgpr1 = COPY %0