diff options
author | Neil Henning <neil.henning@amd.com> | 2019-03-18 14:44:28 +0000 |
---|---|---|
committer | Neil Henning <neil.henning@amd.com> | 2019-03-18 14:44:28 +0000 |
commit | 523dab07887f8bfeb4697ab8103ab76adddfc1fc (patch) | |
tree | 11148aba9c9bcd61f9a2efc46324b01f214ca8eb /llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll | |
parent | 6063393536cc8f6129c1bc4d590e812525e16abb (diff) | |
download | bcm5719-llvm-523dab07887f8bfeb4697ab8103ab76adddfc1fc.tar.gz bcm5719-llvm-523dab07887f8bfeb4697ab8103ab76adddfc1fc.zip |
[AMDGPU] Add an experimental buffer fat pointer address space.
Add an experimental buffer fat pointer address space that is currently
unhandled in the backend. This commit reserves address space 7 as a
non-integral pointer repsenting the 160-bit fat pointer (128-bit buffer
descriptor + 32-bit offset) that is heavily used in graphics workloads
using the AMDGPU backend.
Differential Revision: https://reviews.llvm.org/D58957
llvm-svn: 356373
Diffstat (limited to 'llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll')
-rw-r--r-- | llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll | 17 |
1 files changed, 17 insertions, 0 deletions
diff --git a/llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll b/llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll new file mode 100644 index 00000000000..7822b1da9f6 --- /dev/null +++ b/llvm/test/CodeGen/AMDGPU/vectorize-buffer-fat-pointer.ll @@ -0,0 +1,17 @@ +; RUN: opt -S -mtriple=amdgcn-- -load-store-vectorizer < %s | FileCheck -check-prefix=OPT %s + +; OPT-LABEL: @func( +define void @func(i32 addrspace(7)* %out) { +entry: + %a0 = getelementptr i32, i32 addrspace(7)* %out, i32 0 + %a1 = getelementptr i32, i32 addrspace(7)* %out, i32 1 + %a2 = getelementptr i32, i32 addrspace(7)* %out, i32 2 + %a3 = getelementptr i32, i32 addrspace(7)* %out, i32 3 + +; OPT: store <4 x i32> <i32 0, i32 1, i32 2, i32 3>, <4 x i32> addrspace(7)* %0, align 4 + store i32 0, i32 addrspace(7)* %a0 + store i32 1, i32 addrspace(7)* %a1 + store i32 2, i32 addrspace(7)* %a2 + store i32 3, i32 addrspace(7)* %a3 + ret void +} |