Home | History | Annotate | Download | only in GlobalISel
      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
      3 
      4 ---
      5 name: test_load_global_i32
      6 body: |
      7   bb.0:
      8     liveins: $vgpr0_vgpr1
      9 
     10     ; CHECK-LABEL: name: test_load_global_i32
     11     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     12     ; CHECK: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
     13     ; CHECK: $vgpr0 = COPY [[LOAD]](s32)
     14     %0:_(p1) = COPY $vgpr0_vgpr1
     15     %1:_(s32) = G_LOAD %0 :: (load 4, addrspace 1)
     16 
     17     $vgpr0 = COPY %1
     18 ...
     19 
     20 ---
     21 name: test_load_global_i64
     22 body: |
     23   bb.0:
     24     liveins: $vgpr0_vgpr1
     25 
     26     ; CHECK-LABEL: name: test_load_global_i64
     27     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     28     ; CHECK: [[LOAD:%[0-9]+]]:_(s32) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
     29     ; CHECK: $vgpr0 = COPY [[LOAD]](s32)
     30     %0:_(p1) = COPY $vgpr0_vgpr1
     31     %1:_(s32) = G_LOAD %0 :: (load 4, addrspace 1)
     32 
     33     $vgpr0 = COPY %1
     34 ...
     35 
     36 ---
     37 name: test_load_global_p1
     38 body: |
     39   bb.0:
     40     liveins: $vgpr0_vgpr1
     41 
     42     ; CHECK-LABEL: name: test_load_global_p1
     43     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     44     ; CHECK: [[LOAD:%[0-9]+]]:_(p1) = G_LOAD [[COPY]](p1) :: (load 8, addrspace 1)
     45     ; CHECK: $vgpr0_vgpr1 = COPY [[LOAD]](p1)
     46     %0:_(p1) = COPY $vgpr0_vgpr1
     47     %1:_(p1) = G_LOAD %0 :: (load 8, addrspace 1)
     48 
     49     $vgpr0_vgpr1 = COPY %1
     50 ...
     51 
     52 ---
     53 name: test_load_global_p4
     54 body: |
     55   bb.0:
     56     liveins: $vgpr0_vgpr1
     57 
     58     ; CHECK-LABEL: name: test_load_global_p4
     59     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     60     ; CHECK: [[LOAD:%[0-9]+]]:_(p4) = G_LOAD [[COPY]](p1) :: (load 8, addrspace 1)
     61     ; CHECK: $vgpr0_vgpr1 = COPY [[LOAD]](p4)
     62     %0:_(p1) = COPY $vgpr0_vgpr1
     63     %1:_(p4) = G_LOAD %0 :: (load 8, addrspace 1)
     64 
     65     $vgpr0_vgpr1 = COPY %1
     66 ...
     67 
     68 
     69 ---
     70 name: test_load_global_p3
     71 body: |
     72   bb.0:
     73     liveins: $vgpr0_vgpr1
     74 
     75     ; CHECK-LABEL: name: test_load_global_p3
     76     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     77     ; CHECK: [[LOAD:%[0-9]+]]:_(p3) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
     78     ; CHECK: $vgpr0 = COPY [[LOAD]](p3)
     79     %0:_(p1) = COPY $vgpr0_vgpr1
     80     %1:_(p3) = G_LOAD %0 :: (load 4, addrspace 1)
     81 
     82     $vgpr0 = COPY %1
     83 ...
     84 
     85 ---
     86 name: test_load_global_v2s32
     87 body: |
     88   bb.0:
     89     liveins: $vgpr0_vgpr1
     90 
     91     ; CHECK-LABEL: name: test_load_global_v2s32
     92     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
     93     ; CHECK: [[LOAD:%[0-9]+]]:_(<2 x s32>) = G_LOAD [[COPY]](p1) :: (load 8, addrspace 1)
     94     ; CHECK: $vgpr0_vgpr1 = COPY [[LOAD]](<2 x s32>)
     95     %0:_(p1) = COPY $vgpr0_vgpr1
     96     %1:_(<2 x s32>) = G_LOAD %0 :: (load 8, addrspace 1)
     97 
     98     $vgpr0_vgpr1 = COPY %1
     99 ...
    100 
    101 ---
    102 
    103 name: test_load_global_v2s16
    104 body: |
    105   bb.0:
    106     liveins: $vgpr0_vgpr1
    107 
    108     ; CHECK-LABEL: name: test_load_global_v2s16
    109     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    110     ; CHECK: [[LOAD:%[0-9]+]]:_(<2 x s16>) = G_LOAD [[COPY]](p1) :: (load 4, addrspace 1)
    111     ; CHECK: $vgpr0 = COPY [[LOAD]](<2 x s16>)
    112     %0:_(p1) = COPY $vgpr0_vgpr1
    113     %1:_(<2 x s16>) = G_LOAD %0 :: (load 4, addrspace 1)
    114     $vgpr0 = COPY %1
    115 ...
    116 
    117 ---
    118 name: test_load_global_v3i32
    119 body: |
    120   bb.0:
    121     liveins: $vgpr0_vgpr1
    122 
    123     ; CHECK-LABEL: name: test_load_global_v3i32
    124     ; CHECK: [[COPY:%[0-9]+]]:_(p1) = COPY $vgpr0_vgpr1
    125     ; CHECK: [[LOAD:%[0-9]+]]:_(<3 x s32>) = G_LOAD [[COPY]](p1) :: (load 12, align 4, addrspace 1)
    126     ; CHECK: $vgpr0_vgpr1_vgpr2 = COPY [[LOAD]](<3 x s32>)
    127     %0:_(p1) = COPY $vgpr0_vgpr1
    128     %1:_(<3 x s32>) = G_LOAD %0 :: (load 12, align 4, addrspace 1)
    129 
    130     $vgpr0_vgpr1_vgpr2 = COPY %1
    131 ...
    132