diff options
| author | Artem Tamazov <artem.tamazov@amd.com> | 2016-10-07 15:53:16 +0000 |
|---|---|---|
| committer | Artem Tamazov <artem.tamazov@amd.com> | 2016-10-07 15:53:16 +0000 |
| commit | 73f1ab28cd2e34d9499dbdcb5649f3e1f6b7647b (patch) | |
| tree | ec5169bd8dcc96a285b6b4387b68369e7b1bdda9 /llvm/lib/Target/AMDGPU | |
| parent | 8b70c4e529cc3858bb377bb8e21408c9c904c5c9 (diff) | |
| download | bcm5719-llvm-73f1ab28cd2e34d9499dbdcb5649f3e1f6b7647b.tar.gz bcm5719-llvm-73f1ab28cd2e34d9499dbdcb5649f3e1f6b7647b.zip | |
[AMDGPU][mc] Add support for buffer_load_dwordx3, buffer_store_dwordx3.
Partially fixes Bug 28232.
Lit tests added.
Differential Revision: https://reviews.llvm.org/D25367
llvm-svn: 283567
Diffstat (limited to 'llvm/lib/Target/AMDGPU')
| -rw-r--r-- | llvm/lib/Target/AMDGPU/BUFInstructions.td | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/llvm/lib/Target/AMDGPU/BUFInstructions.td b/llvm/lib/Target/AMDGPU/BUFInstructions.td index f375e7d3674..3a9de0df22c 100644 --- a/llvm/lib/Target/AMDGPU/BUFInstructions.td +++ b/llvm/lib/Target/AMDGPU/BUFInstructions.td @@ -550,6 +550,9 @@ defm BUFFER_LOAD_DWORD : MUBUF_Pseudo_Loads < defm BUFFER_LOAD_DWORDX2 : MUBUF_Pseudo_Loads < "buffer_load_dwordx2", VReg_64, v2i32, mubuf_load >; +defm BUFFER_LOAD_DWORDX3 : MUBUF_Pseudo_Loads < + "buffer_load_dwordx3", VReg_96, untyped, mubuf_load +>; defm BUFFER_LOAD_DWORDX4 : MUBUF_Pseudo_Loads < "buffer_load_dwordx4", VReg_128, v4i32, mubuf_load >; @@ -565,6 +568,9 @@ defm BUFFER_STORE_DWORD : MUBUF_Pseudo_Stores < defm BUFFER_STORE_DWORDX2 : MUBUF_Pseudo_Stores < "buffer_store_dwordx2", VReg_64, v2i32, global_store >; +defm BUFFER_STORE_DWORDX3 : MUBUF_Pseudo_Stores < + "buffer_store_dwordx3", VReg_96, untyped, global_store +>; defm BUFFER_STORE_DWORDX4 : MUBUF_Pseudo_Stores < "buffer_store_dwordx4", VReg_128, v4i32, global_store >; @@ -1118,11 +1124,13 @@ defm BUFFER_LOAD_SSHORT : MUBUF_Real_AllAddr_si <0x0b>; defm BUFFER_LOAD_DWORD : MUBUF_Real_AllAddr_si <0x0c>; defm BUFFER_LOAD_DWORDX2 : MUBUF_Real_AllAddr_si <0x0d>; defm BUFFER_LOAD_DWORDX4 : MUBUF_Real_AllAddr_si <0x0e>; +defm BUFFER_LOAD_DWORDX3 : MUBUF_Real_AllAddr_si <0x0f>; defm BUFFER_STORE_BYTE : MUBUF_Real_AllAddr_si <0x18>; defm BUFFER_STORE_SHORT : MUBUF_Real_AllAddr_si <0x1a>; defm BUFFER_STORE_DWORD : MUBUF_Real_AllAddr_si <0x1c>; defm BUFFER_STORE_DWORDX2 : MUBUF_Real_AllAddr_si <0x1d>; defm BUFFER_STORE_DWORDX4 : MUBUF_Real_AllAddr_si <0x1e>; +defm BUFFER_STORE_DWORDX3 : MUBUF_Real_AllAddr_si <0x1f>; defm BUFFER_ATOMIC_SWAP : MUBUF_Real_Atomic_si <0x30>; defm BUFFER_ATOMIC_CMPSWAP : MUBUF_Real_Atomic_si <0x31>; @@ -1249,11 +1257,13 @@ defm BUFFER_LOAD_USHORT : MUBUF_Real_AllAddr_vi <0x12>; defm BUFFER_LOAD_SSHORT : MUBUF_Real_AllAddr_vi <0x13>; defm BUFFER_LOAD_DWORD : MUBUF_Real_AllAddr_vi <0x14>; defm BUFFER_LOAD_DWORDX2 : MUBUF_Real_AllAddr_vi <0x15>; +defm BUFFER_LOAD_DWORDX3 : MUBUF_Real_AllAddr_vi <0x16>; defm BUFFER_LOAD_DWORDX4 : MUBUF_Real_AllAddr_vi <0x17>; defm BUFFER_STORE_BYTE : MUBUF_Real_AllAddr_vi <0x18>; defm BUFFER_STORE_SHORT : MUBUF_Real_AllAddr_vi <0x1a>; defm BUFFER_STORE_DWORD : MUBUF_Real_AllAddr_vi <0x1c>; defm BUFFER_STORE_DWORDX2 : MUBUF_Real_AllAddr_vi <0x1d>; +defm BUFFER_STORE_DWORDX3 : MUBUF_Real_AllAddr_vi <0x1e>; defm BUFFER_STORE_DWORDX4 : MUBUF_Real_AllAddr_vi <0x1f>; defm BUFFER_ATOMIC_SWAP : MUBUF_Real_Atomic_vi <0x40>; |

