Bump version to 19.1.0-rc3
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / GlobalISel / legalize-sextload-private.mir
blobc30ec41c351dcdc7b02fdc9a0f2a6a9867ca7b11
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
5 ---
6 name: test_sextload_private_i32_i8
7 body: |
8   bb.0:
9     liveins: $vgpr0
11     ; CHECK-LABEL: name: test_sextload_private_i32_i8
12     ; CHECK: liveins: $vgpr0
13     ; CHECK-NEXT: {{  $}}
14     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
15     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5)
16     ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)
17     %0:_(p5) = COPY $vgpr0
18     %1:_(s32) = G_SEXTLOAD %0 :: (load (s8), addrspace 5)
20     $vgpr0 = COPY %1
21 ...
22 ---
23 name: test_sextload_private_i32_i16
24 body: |
25   bb.0:
26     liveins: $vgpr0
28     ; CHECK-LABEL: name: test_sextload_private_i32_i16
29     ; CHECK: liveins: $vgpr0
30     ; CHECK-NEXT: {{  $}}
31     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
32     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5)
33     ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)
34     %0:_(p5) = COPY $vgpr0
35     %1:_(s32) = G_SEXTLOAD %0 :: (load (s16), addrspace 5)
36     $vgpr0 = COPY %1
37 ...
38 ---
39 name: test_sextload_private_i31_i8
40 body: |
41   bb.0:
42     liveins: $vgpr0
44     ; CHECK-LABEL: name: test_sextload_private_i31_i8
45     ; CHECK: liveins: $vgpr0
46     ; CHECK-NEXT: {{  $}}
47     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
48     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5)
49     ; CHECK-NEXT: $vgpr0 = COPY [[SEXTLOAD]](s32)
50     %0:_(p5) = COPY $vgpr0
51     %1:_(s31) = G_SEXTLOAD %0 :: (load (s8), addrspace 5)
52     %2:_(s32) = G_ANYEXT %1
53     $vgpr0 = COPY %2
54 ...
55 ---
56 name: test_sextload_private_i64_i8
57 body: |
58   bb.0:
59     liveins: $vgpr0
61     ; CHECK-LABEL: name: test_sextload_private_i64_i8
62     ; CHECK: liveins: $vgpr0
63     ; CHECK-NEXT: {{  $}}
64     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
65     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s8), addrspace 5)
66     ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
67     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
68     %0:_(p5) = COPY $vgpr0
69     %1:_(s64) = G_SEXTLOAD %0 :: (load (s8), addrspace 5)
70     $vgpr0_vgpr1 = COPY %1
71 ...
72 ---
73 name: test_sextload_private_i64_i16
74 body: |
75   bb.0:
76     liveins: $vgpr0
78     ; CHECK-LABEL: name: test_sextload_private_i64_i16
79     ; CHECK: liveins: $vgpr0
80     ; CHECK-NEXT: {{  $}}
81     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
82     ; CHECK-NEXT: [[SEXTLOAD:%[0-9]+]]:_(s32) = G_SEXTLOAD [[COPY]](p5) :: (load (s16), addrspace 5)
83     ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[SEXTLOAD]](s32)
84     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
85     %0:_(p5) = COPY $vgpr0
86     %1:_(s64) = G_SEXTLOAD %0 :: (load (s16), addrspace 5)
87     $vgpr0_vgpr1 = COPY %1
88 ...
89 ---
90 name: test_sextload_private_i64_i32
91 body: |
92   bb.0:
93     liveins: $vgpr0_vgpr1
95     ; CHECK-LABEL: name: test_sextload_private_i64_i32
96     ; CHECK: liveins: $vgpr0_vgpr1
97     ; CHECK-NEXT: {{  $}}
98     ; CHECK-NEXT: [[COPY:%[0-9]+]]:_(p5) = COPY $vgpr0
99     ; CHECK-NEXT: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p5) :: (load (s32), addrspace 5)
100     ; CHECK-NEXT: [[SEXT:%[0-9]+]]:_(s64) = G_SEXT [[LOAD]](s32)
101     ; CHECK-NEXT: $vgpr0_vgpr1 = COPY [[SEXT]](s64)
102     %0:_(p5) = COPY $vgpr0
103     %1:_(s64) = G_SEXTLOAD %0 :: (load (s32), addrspace 5)
104     $vgpr0_vgpr1 = COPY %1