Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / legalize-zextload-local.mir
blob5b02cac39424886137dfcc51416d4a56f44a6419
1 # NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=fiji -run-pass=legalizer -o - %s | FileCheck %s
3 # RUN: llc -mtriple=amdgcn-mesa-mesa3d -mcpu=tahiti -run-pass=legalizer -o - %s | FileCheck %s
4 ---
5 name: test_zextload_local_i32_i8
6 body: |
7   bb.0:
8     liveins: $vgpr0
10     ; CHECK-LABEL: name: test_zextload_local_i32_i8
11     ; CHECK: liveins: $vgpr0
12     ; CHECK-NEXT: {{  $}}
13     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
14     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p3) :: (load (s8), addrspace 3)
15     ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32)
16     %0:_(p3) = COPY $vgpr0
17     %1:_(s32) = G_ZEXTLOAD %0 :: (load (s8), addrspace 3)
18     $vgpr0 = COPY %1
19 ...
20 ---
21 name: test_zextload_local_i32_i16
22 body: |
23   bb.0:
24     liveins: $vgpr0
26     ; CHECK-LABEL: name: test_zextload_local_i32_i16
27     ; CHECK: liveins: $vgpr0
28     ; CHECK-NEXT: {{  $}}
29     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
30     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p3) :: (load (s16), addrspace 3)
31     ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32)
32     %0:_(p3) = COPY $vgpr0
33     %1:_(s32) = G_ZEXTLOAD %0 :: (load (s16), addrspace 3)
34     $vgpr0 = COPY %1
35 ...
36 ---
37 name: test_zextload_local_i31_i8
38 body: |
39   bb.0:
40     liveins: $vgpr0
42     ; CHECK-LABEL: name: test_zextload_local_i31_i8
43     ; CHECK: liveins: $vgpr0
44     ; CHECK-NEXT: {{  $}}
45     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
46     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p3) :: (load (s8), addrspace 3)
47     ; CHECK-NEXT: $vgpr0 = COPY [[ZEXTLOAD]](s32)
48     %0:_(p3) = COPY $vgpr0
49     %1:_(s31) = G_ZEXTLOAD %0 :: (load (s8), addrspace 3)
50     %2:_(s32) = G_ANYEXT %1
51     $vgpr0 = COPY %2
52 ...
53 ---
54 name: test_zextload_local_i64_i8
55 body: |
56   bb.0:
57     liveins: $vgpr0
59     ; CHECK-LABEL: name: test_zextload_local_i64_i8
60     ; CHECK: liveins: $vgpr0
61     ; CHECK-NEXT: {{  $}}
62     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
63     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p3) :: (load (s8), addrspace 3)
64     ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[ZEXTLOAD]](s32)
65     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)
66     %0:_(p3) = COPY $vgpr0
67     %1:_(s64) = G_ZEXTLOAD %0 :: (load (s8), addrspace 3)
68     $vgpr0_vgpr1 = COPY %1
69 ...
70 ---
71 name: test_zextload_local_i64_i16
72 body: |
73   bb.0:
74     liveins: $vgpr0
76     ; CHECK-LABEL: name: test_zextload_local_i64_i16
77     ; CHECK: liveins: $vgpr0
78     ; CHECK-NEXT: {{  $}}
79     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
80     ; CHECK-NEXT: [[ZEXTLOAD:%[0-9]+]]:_(s32) = G_ZEXTLOAD [[COPY]](p3) :: (load (s16), addrspace 3)
81     ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[ZEXTLOAD]](s32)
82     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)
83     %0:_(p3) = COPY $vgpr0
84     %1:_(s64) = G_ZEXTLOAD %0 :: (load (s16), addrspace 3)
85     $vgpr0_vgpr1 = COPY %1
86 ...
87 ---
88 name: test_zextload_local_i64_i32
89 body: |
90   bb.0:
91     liveins: $vgpr0_vgpr1
93     ; CHECK-LABEL: name: test_zextload_local_i64_i32
94     ; CHECK: liveins: $vgpr0_vgpr1
95     ; CHECK-NEXT: {{  $}}
96     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p3) = COPY $vgpr0
97     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p3) :: (load (s32), addrspace 3)
98     ; CHECK-NEXT: [[ZEXT:%[0-9]+]]:_(s64) = G_ZEXT [[LOAD]](s32)
99     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[ZEXT]](s64)
100     %0:_(p3) = COPY $vgpr0
101     %1:_(s64) = G_ZEXTLOAD %0 :: (load (s32), addrspace 3)
102     $vgpr0_vgpr1 = COPY %1