[AMDGPU] Implemented dwordx3 variants of buffer/tbuffer load/store intrinsics
authorTim Renouf <tpr.llvm@botech.co.uk>
Fri, 22 Mar 2019 14:58:02 +0000 (14:58 +0000)
committerTim Renouf <tpr.llvm@botech.co.uk>
Fri, 22 Mar 2019 14:58:02 +0000 (14:58 +0000)
commit677387d8dc9e9821c83cb0ed93a3823e6f628307
tree72d85eedea5d13e90337bee3d0cd21d2fb3bd162
parentf95351b918c98ed15a742da572a42d23a1400196
[AMDGPU] Implemented dwordx3 variants of buffer/tbuffer load/store intrinsics

Now we have vec3 MVTs, this commit implements dwordx3 variants of the
buffer intrinsics.

On gfx6, a dwordx3 buffer load intrinsic is implemented as a dwordx4
instruction, and a dwordx3 buffer store intrinsic is not supported.
We need to support the dwordx3 load intrinsic because it is generated by
subtarget-unaware code in InstCombine.

Differential Revision: https://reviews.llvm.org/D58904

Change-Id: I016729d8557b98a52f529638ae97c340a5922a4e
llvm-svn: 356755
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.cpp
llvm/lib/Target/AMDGPU/AMDGPUISelLowering.h
llvm/lib/Target/AMDGPU/BUFInstructions.td
llvm/lib/Target/AMDGPU/SIISelLowering.cpp
llvm/lib/Target/AMDGPU/SIISelLowering.h
llvm/lib/Target/AMDGPU/SIInstrInfo.td
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.load.dwordx3.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.buffer.store.dwordx3.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.load.dwordx3.ll [new file with mode: 0644]
llvm/test/CodeGen/AMDGPU/llvm.amdgcn.tbuffer.store.dwordx3.ll [new file with mode: 0644]
llvm/test/MC/AMDGPU/mtbuf.s