forked from OSchip/llvm-project
45 lines
1.7 KiB
YAML
45 lines
1.7 KiB
YAML
# RUN: llc -march=amdgcn -mcpu=hawaii -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=GCN
|
|
# RUN: llc -march=amdgcn -mcpu=fiji -run-pass=instruction-select -verify-machineinstrs %s -o - | FileCheck %s -check-prefixes=GCN
|
|
|
|
# REQUIRES: global-isel
|
|
|
|
--- |
|
|
define amdgpu_kernel void @global_addrspace(i32 addrspace(1)* %global0,
|
|
i64 addrspace(1)* %global1,
|
|
i96 addrspace(1)* %global2,
|
|
i128 addrspace(1)* %global3) { ret void }
|
|
...
|
|
---
|
|
|
|
name: global_addrspace
|
|
legalized: true
|
|
regBankSelected: true
|
|
|
|
# GCN: global_addrspace
|
|
# GCN: [[PTR:%[0-9]+]]:vreg_64 = COPY $vgpr0_vgpr1
|
|
# GCN: [[VAL4:%[0-9]+]]:vgpr_32 = COPY $vgpr2
|
|
# GCN: [[VAL8:%[0-9]+]]:vreg_64 = COPY $vgpr3_vgpr4
|
|
# GCN: [[VAL12:%[0-9]+]]:vreg_96 = COPY $vgpr5_vgpr6_vgpr7
|
|
# GCN: [[VAL16:%[0-9]+]]:vreg_128 = COPY $vgpr8_vgpr9_vgpr10_vgpr11
|
|
# GCN: FLAT_STORE_DWORD [[PTR]], [[VAL4]], 0, 0, 0
|
|
# GCN: FLAT_STORE_DWORDX2 [[PTR]], [[VAL8]], 0, 0, 0
|
|
# GCN: FLAT_STORE_DWORDX3 [[PTR]], [[VAL12]], 0, 0, 0
|
|
# GCN: FLAT_STORE_DWORDX4 [[PTR]], [[VAL16]], 0, 0, 0
|
|
|
|
body: |
|
|
bb.0:
|
|
liveins: $vgpr0_vgpr1, $vgpr2, $vgpr3_vgpr4, $vgpr5_vgpr6_vgpr7, $vgpr8_vgpr9_vgpr10_vgpr11
|
|
|
|
%0:vgpr(p1) = COPY $vgpr0_vgpr1
|
|
%1:vgpr(s32) = COPY $vgpr2
|
|
%2:vgpr(s64) = COPY $vgpr3_vgpr4
|
|
%3:vgpr(s96) = COPY $vgpr5_vgpr6_vgpr7
|
|
%4:vgpr(s128) = COPY $vgpr8_vgpr9_vgpr10_vgpr11
|
|
G_STORE %1, %0 :: (store 4 into %ir.global0)
|
|
G_STORE %2, %0 :: (store 8 into %ir.global1)
|
|
G_STORE %3, %0 :: (store 12 into %ir.global2, align 16)
|
|
G_STORE %4, %0 :: (store 16 into %ir.global3)
|
|
|
|
...
|
|
---
|