• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
2# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect  -regbankselect-fast -verify-machineinstrs -o - %s | FileCheck %s
3# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=regbankselect  -regbankselect-greedy -verify-machineinstrs -o - %s | FileCheck %s
4
5---
6name: sextload_constant_i8_to_i32_uniform
7legalized: true
8
9body: |
10  bb.0:
11    liveins: $sgpr0_sgpr1
12    ; CHECK-LABEL: name: sextload_constant_i8_to_i32_uniform
13    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
14    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
15    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 1, addrspace 4)
16    %0:_(p4) = COPY $sgpr0_sgpr1
17    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 4, align 1)
18...
19
20---
21name: sextload_global_i8_to_i32_uniform
22legalized: true
23
24body: |
25  bb.0:
26    liveins: $sgpr0_sgpr1
27
28    ; CHECK-LABEL: name: sextload_global_i8_to_i32_uniform
29    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
30    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
31    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 1, addrspace 1)
32    %0:_(p4) = COPY $sgpr0_sgpr1
33    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 1, align 1)
34...
35
36---
37name: sextload_constant_i16_to_i32_uniform
38legalized: true
39
40body: |
41  bb.0:
42    liveins: $sgpr0_sgpr1
43
44    ; CHECK-LABEL: name: sextload_constant_i16_to_i32_uniform
45    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
46    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
47    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 2, addrspace 4)
48    %0:_(p4) = COPY $sgpr0_sgpr1
49    %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 4, align 2)
50...
51
52---
53name: sextload_global_i16_to_i32_uniform
54legalized: true
55
56body: |
57  bb.0:
58    liveins: $sgpr0_sgpr1
59
60    ; CHECK-LABEL: name: sextload_global_i16_to_i32_uniform
61    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p4) = COPY $sgpr0_sgpr1
62    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p4) = COPY [[COPY]](p4)
63    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p4) :: (load 2, addrspace 1)
64    %0:_(p4) = COPY $sgpr0_sgpr1
65    %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 1, align 2)
66...
67
68---
69name: sextload_local_i8_to_i32_uniform
70legalized: true
71
72body: |
73  bb.0:
74    liveins: $sgpr0
75    ; CHECK-LABEL: name: sextload_local_i8_to_i32_uniform
76    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
77    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
78    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p3) :: (load 1, addrspace 3)
79    %0:_(p3) = COPY $sgpr0
80    %1:_(s32) = G_SEXTLOAD %0 :: (load 1, addrspace 3, align 1)
81...
82
83---
84name: sextload_local_i16_to_i32_uniform
85legalized: true
86
87body: |
88  bb.0:
89    liveins: $sgpr0
90
91    ; CHECK-LABEL: name: sextload_local_i16_to_i32_uniform
92    ; CHECK: [[COPY:%[0-9]+]]:sgpr(p3) = COPY $sgpr0
93    ; CHECK: [[COPY1:%[0-9]+]]:vgpr(p3) = COPY [[COPY]](p3)
94    ; CHECK: [[SEXTLOAD:%[0-9]+]]:vgpr(s32) = G_SEXTLOAD [[COPY1]](p3) :: (load 2, addrspace 3)
95    %0:_(p3) = COPY $sgpr0
96    %1:_(s32) = G_SEXTLOAD %0 :: (load 2, addrspace 3, align 2)
97...
98!
99