Buffer Memory Instructions
182 AMDGPU instructions in this category - showing 82 per page, page 2 of 2 - click any row for encoding, pseudocode, and full documentation.
| Mnemonic | Syntax | Format | Summary |
|---|---|---|---|
| buffer_load_format_d16_hi_x | buffer_load_format_d16_hi_x | MUBUF | Load 1-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| buffer_load_format_d16_x | buffer_load_format_d16_x | MUBUF | Load 1-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| buffer_load_format_d16_xy | buffer_load_format_d16_xy | MUBUF | Load 2-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| buffer_load_format_d16_xyz | buffer_load_format_d16_xyz | MUBUF | Load 3-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| buffer_load_format_d16_xyzw | buffer_load_format_d16_xyzw | MUBUF | Load 4-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| buffer_load_format_x | buffer_load_format_x | MUBUF | Load 1-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| buffer_load_format_xy | buffer_load_format_xy | MUBUF | Load 2-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| buffer_load_format_xyz | buffer_load_format_xyz | MUBUF | Load 3-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| buffer_load_format_xyzw | buffer_load_format_xyzw | MUBUF | Load 4-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| buffer_load_i16 | buffer_load_i16 | MUBUF | Load 16 bits of signed data from a buffer surface, sign extend to 32 bits and store the result into a vector register. |
| buffer_load_i8 | buffer_load_i8 | MUBUF | Load 8 bits of signed data from a buffer surface, sign extend to 32 bits and store the result into a vector register. |
| buffer_load_sbyte | buffer_load_sbyte | MUBUF | Load 8 bits of signed data from a buffer surface, sign extend to 32 bits and store the result into a vector register. |
| buffer_load_sbyte_d16 | buffer_load_sbyte_d16 | MUBUF | Load 8 bits of signed data from a buffer surface, sign extend to 16 bits and store the result into the low 16 bits of a 32-bit vector register. |
| buffer_load_sbyte_d16_hi | buffer_load_sbyte_d16_hi | MUBUF | Load 8 bits of signed data from a buffer surface, sign extend to 16 bits and store the result into the high 16 bits of a 32-bit vector register. |
| buffer_load_short_d16 | buffer_load_short_d16 | MUBUF | Load 16 bits of unsigned data from a buffer surface and store the result into the low 16 bits of a 32-bit vector register. |
| buffer_load_short_d16_hi | buffer_load_short_d16_hi | MUBUF | Load 16 bits of unsigned data from a buffer surface and store the result into the high 16 bits of a 32-bit vector register. |
| buffer_load_sshort | buffer_load_sshort | MUBUF | Load 16 bits of signed data from a buffer surface, sign extend to 32 bits and store the result into a vector register. |
| buffer_load_u16 | buffer_load_u16 | MUBUF | Load 16 bits of unsigned data from a buffer surface, zero extend to 32 bits and store the result into a vector register. |
| buffer_load_u8 | buffer_load_u8 | MUBUF | Load 8 bits of unsigned data from a buffer surface, zero extend to 32 bits and store the result into a vector register. |
| buffer_load_ubyte | buffer_load_ubyte | MUBUF | Load 8 bits of unsigned data from a buffer surface, zero extend to 32 bits and store the result into a vector register. |
| buffer_load_ubyte_d16 | buffer_load_ubyte_d16 | MUBUF | Load 8 bits of unsigned data from a buffer surface, zero extend to 16 bits and store the result into the low 16 bits of a 32-bit vector register. |
| buffer_load_ubyte_d16_hi | buffer_load_ubyte_d16_hi | MUBUF | Load 8 bits of unsigned data from a buffer surface, zero extend to 16 bits and store the result into the high 16 bits of a 32-bit vector register. |
| buffer_load_ushort | buffer_load_ushort | MUBUF | Load 16 bits of unsigned data from a buffer surface, zero extend to 32 bits and store the result into a vector register. |
| buffer_store_b128 | buffer_store_b128 | MUBUF | Store 128 bits of data from vector input registers into a buffer surface. |
| buffer_store_b16 | buffer_store_b16 | MUBUF | Store 16 bits of data from a vector register into a buffer surface. |
| buffer_store_b32 | buffer_store_b32 | MUBUF | Store 32 bits of data from vector input registers into a buffer surface. |
| buffer_store_b64 | buffer_store_b64 | MUBUF | Store 64 bits of data from vector input registers into a buffer surface. |
| buffer_store_b8 | buffer_store_b8 | MUBUF | Store 8 bits of data from a vector register into a buffer surface. |
| buffer_store_b96 | buffer_store_b96 | MUBUF | Store 96 bits of data from vector input registers into a buffer surface. |
| buffer_store_byte | buffer_store_byte | MUBUF | Store 8 bits of data from a vector register into a buffer surface. |
| buffer_store_byte_d16_hi | buffer_store_byte_d16_hi | MUBUF | Store 8 bits of data from the high 16 bits of a 32-bit vector register into a buffer surface. |
| buffer_store_d16_format_x | buffer_store_d16_format_x | MUBUF | Convert 16 bits of data from the low 16 bits of a 32-bit vector input register into 1-component formatted data and store the data into a buffer… |
| buffer_store_d16_format_xy | buffer_store_d16_format_xy | MUBUF | Convert 32 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| buffer_store_d16_format_xyz | buffer_store_d16_format_xyz | MUBUF | Convert 48 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| buffer_store_d16_format_xyzw | buffer_store_d16_format_xyzw | MUBUF | Convert 64 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |
| buffer_store_d16_hi_b16 | buffer_store_d16_hi_b16 | MUBUF | Store 16 bits of data from the high 16 bits of a 32-bit vector register into a buffer surface. |
| buffer_store_d16_hi_b8 | buffer_store_d16_hi_b8 | MUBUF | Store 8 bits of data from the high 16 bits of a 32-bit vector register into a buffer surface. |
| buffer_store_d16_hi_format_x | buffer_store_d16_hi_format_x | MUBUF | Convert 16 bits of data from the high 16 bits of a 32-bit vector input register into 1-component formatted data and store the data into a buffer… |
| buffer_store_dword | buffer_store_dword | MUBUF | Store 32 bits of data from vector input registers into a buffer surface. |
| buffer_store_dwordx2 | buffer_store_dwordx2 | MUBUF | Store 64 bits of data from vector input registers into a buffer surface. |
| buffer_store_dwordx3 | buffer_store_dwordx3 | MUBUF | Store 96 bits of data from vector input registers into a buffer surface. |
| buffer_store_dwordx4 | buffer_store_dwordx4 | MUBUF | Store 128 bits of data from vector input registers into a buffer surface. |
| buffer_store_format_d16_hi_x | buffer_store_format_d16_hi_x | MUBUF | Convert 16 bits of data from the high 16 bits of a 32-bit vector input register into 1-component formatted data and store the data into a buffer… |
| buffer_store_format_d16_x | buffer_store_format_d16_x | MUBUF | Convert 16 bits of data from the low 16 bits of a 32-bit vector input register into 1-component formatted data and store the data into a buffer… |
| buffer_store_format_d16_xy | buffer_store_format_d16_xy | MUBUF | Convert 32 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| buffer_store_format_d16_xyz | buffer_store_format_d16_xyz | MUBUF | Convert 48 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| buffer_store_format_d16_xyzw | buffer_store_format_d16_xyzw | MUBUF | Convert 64 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |
| buffer_store_format_x | buffer_store_format_x | MUBUF | Convert 32 bits of data from vector input registers into 1-component formatted data and store the data into a buffer surface. |
| buffer_store_format_xy | buffer_store_format_xy | MUBUF | Convert 64 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| buffer_store_format_xyz | buffer_store_format_xyz | MUBUF | Convert 96 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| buffer_store_format_xyzw | buffer_store_format_xyzw | MUBUF | Convert 128 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |
| buffer_store_lds_dword | buffer_store_lds_dword | MUBUF | Store one DWORD from LDS memory to system memory without utilizing VGPRs. |
| buffer_store_short | buffer_store_short | MUBUF | Store 16 bits of data from a vector register into a buffer surface. |
| buffer_store_short_d16_hi | buffer_store_short_d16_hi | MUBUF | Store 16 bits of data from the high 16 bits of a 32-bit vector register into a buffer surface. |
| buffer_wbinvl1 | buffer_wbinvl1 | MUBUF | Write back and invalidate the shader L1. Returns ACK to shader. |
| buffer_wbinvl1_sc | buffer_wbinvl1_sc | MUBUF | AMDGPU MUBUF vector instruction. (Format and name extracted from LLVM's AMDGPU backend source - semantics not yet curated.) |
| buffer_wbinvl1_vol | buffer_wbinvl1_vol | MUBUF | Write back and invalidate the shader L1 only for lines that are marked volatile. Returns ACK to shader. |
| buffer_wbl2 | buffer_wbl2 | MUBUF | Write back L2 cache. Returns ACK to shader. |
| tbuffer_load_d16_format_x | tbuffer_load_d16_format_x | MTBUF | Load 1-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_d16_format_xy | tbuffer_load_d16_format_xy | MTBUF | Load 2-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_d16_format_xyz | tbuffer_load_d16_format_xyz | MTBUF | Load 3-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_d16_format_xyzw | tbuffer_load_d16_format_xyzw | MTBUF | Load 4-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_format_d16_x | tbuffer_load_format_d16_x | MTBUF | Load 1-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_format_d16_xy | tbuffer_load_format_d16_xy | MTBUF | Load 2-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_format_d16_xyz | tbuffer_load_format_d16_xyz | MTBUF | Load 3-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_format_d16_xyzw | tbuffer_load_format_d16_xyzw | MTBUF | Load 4-component formatted data from a buffer surface, convert the data to packed 16 bit integral or floating point format, then store the result… |
| tbuffer_load_format_x | tbuffer_load_format_x | MTBUF | Load 1-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| tbuffer_load_format_xy | tbuffer_load_format_xy | MTBUF | Load 2-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| tbuffer_load_format_xyz | tbuffer_load_format_xyz | MTBUF | Load 3-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| tbuffer_load_format_xyzw | tbuffer_load_format_xyzw | MTBUF | Load 4-component formatted data from a buffer surface, convert the data to 32 bit integral or floating point format, then store the result into a… |
| tbuffer_store_d16_format_x | tbuffer_store_d16_format_x | MTBUF | Convert 16 bits of data from vector input registers into 1-component formatted data and store the data into a buffer surface. |
| tbuffer_store_d16_format_xy | tbuffer_store_d16_format_xy | MTBUF | Convert 32 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| tbuffer_store_d16_format_xyz | tbuffer_store_d16_format_xyz | MTBUF | Convert 48 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| tbuffer_store_d16_format_xyzw | tbuffer_store_d16_format_xyzw | MTBUF | Convert 64 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_d16_x | tbuffer_store_format_d16_x | MTBUF | Convert 16 bits of data from vector input registers into 1-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_d16_xy | tbuffer_store_format_d16_xy | MTBUF | Convert 32 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_d16_xyz | tbuffer_store_format_d16_xyz | MTBUF | Convert 48 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_d16_xyzw | tbuffer_store_format_d16_xyzw | MTBUF | Convert 64 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_x | tbuffer_store_format_x | MTBUF | Convert 32 bits of data from vector input registers into 1-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_xy | tbuffer_store_format_xy | MTBUF | Convert 64 bits of data from vector input registers into 2-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_xyz | tbuffer_store_format_xyz | MTBUF | Convert 96 bits of data from vector input registers into 3-component formatted data and store the data into a buffer surface. |
| tbuffer_store_format_xyzw | tbuffer_store_format_xyzw | MTBUF | Convert 128 bits of data from vector input registers into 4-component formatted data and store the data into a buffer surface. |