1# RUN: llvm-mc -triple=amdgcn -mcpu=gfx1010 -disassemble -show-encoding < %s | FileCheck %s -check-prefix=GFX10 2 3# GFX10: tbuffer_load_format_d16_x v0, off, s[0:3], 0 format:[BUF_FMT_32_FLOAT] 40x00,0x00,0xb0,0xe8,0x00,0x00,0x20,0x80 5 6# GFX10: tbuffer_load_format_d16_xy v0, off, s[0:3], 0 format:[BUF_FMT_32_FLOAT] 70x00,0x00,0xb1,0xe8,0x00,0x00,0x20,0x80 8 9# GFX10: tbuffer_load_format_d16_xyz v[0:1], off, s[0:3], 0 format:[BUF_FMT_32_FLOAT] 100x00,0x00,0xb2,0xe8,0x00,0x00,0x20,0x80 11 12# GFX10: tbuffer_load_format_d16_xyzw v[0:1], off, s[0:3], 0 format:[BUF_FMT_32_FLOAT] 130x00,0x00,0xb3,0xe8,0x00,0x00,0x20,0x80 14 15# GFX10: tbuffer_load_format_xyzw v[0:3], off, s[0:3], 0 format:78 160x00,0x00,0x73,0xea,0x00,0x00,0x00,0x80 17 18# GFX10: tbuffer_load_format_xyzw v[8:11], off, s[0:3], 0 format:[BUF_FMT_32_FLOAT] slc 190x00,0x00,0xb3,0xe8,0x00,0x08,0x40,0x80 20 21# GFX10: tbuffer_load_format_xyzw v[4:7], off, s[0:3], 0 format:[BUF_FMT_32_32_SINT] glc 220x00,0x40,0xfb,0xe9,0x00,0x04,0x00,0x80 23 24# GFX10: tbuffer_load_format_xyzw v[12:15], off, s[0:3], 0 format:[BUF_FMT_16_16_UNORM] glc dlc 250x00,0xc0,0xbb,0xe8,0x00,0x0c,0x00,0x80 26 27# GFX10: tbuffer_load_format_xyzw v[0:3], off, s[0:3], 0 format:78 offset:42 280x2a,0x00,0x73,0xea,0x00,0x00,0x00,0x80 29 30# GFX10: tbuffer_load_format_xyzw v[4:7], off, s[0:3], s4 format:[BUF_FMT_32_32_UINT] offset:73 310x49,0x00,0xf3,0xe9,0x00,0x04,0x00,0x04 32 33# GFX10: tbuffer_load_format_xyzw v[0:3], off, s[0:3], 61 format:[BUF_FMT_10_10_10_2_SSCALED] offset:4095 340xff,0x0f,0x7b,0xe9,0x00,0x00,0x00,0xbd 35 36# GFX10: tbuffer_load_format_xyzw v[8:11], off, s[0:3], s4 format:[BUF_FMT_32_32_32_32_FLOAT] offset:1 370x01,0x00,0x6b,0xea,0x00,0x08,0x00,0x04 38 39# GFX10: tbuffer_load_format_xyzw v[0:3], v0, s[0:3], 0 format:78 idxen 400x00,0x20,0x73,0xea,0x00,0x00,0x00,0x80 41 42# GFX10: tbuffer_load_format_xyzw v[0:3], v0, s[0:3], 0 format:78 offen 430x00,0x10,0x73,0xea,0x00,0x00,0x00,0x80 44 45# GFX10: tbuffer_load_format_xyzw v[0:3], v0, s[0:3], 0 format:78 offen offset:52 460x34,0x10,0x73,0xea,0x00,0x00,0x00,0x80 47 48# GFX10: tbuffer_load_format_xyzw v[0:3], v[0:1], s[0:3], 0 format:78 idxen offen 490x00,0x30,0x73,0xea,0x00,0x00,0x00,0x80 50 51# GFX10: tbuffer_load_format_xy v[0:1], off, s[0:3], 0 format:[BUF_FMT_32_32_32_32_FLOAT] 520x00,0x00,0x69,0xea,0x00,0x00,0x00,0x80 53 54# GFX10: tbuffer_load_format_x v0, off, s[0:3], 0 format:[BUF_FMT_32_32_32_32_FLOAT] 550x00,0x00,0x68,0xea,0x00,0x00,0x00,0x80 56 57# GFX10: tbuffer_store_format_d16_x v0, v1, s[4:7], 0 format:[BUF_FMT_10_11_11_SSCALED] idxen 580x00,0x20,0x0c,0xe9,0x01,0x00,0x21,0x80 59 60# GFX10: tbuffer_store_format_d16_xy v0, v1, s[4:7], 0 format:[BUF_FMT_10_11_11_SSCALED] idxen 610x00,0x20,0x0d,0xe9,0x01,0x00,0x21,0x80 62 63# GFX10: tbuffer_store_format_d16_xyz v[0:1], v2, s[4:7], 0 format:[BUF_FMT_10_11_11_SSCALED] idxen 640x00,0x20,0x0e,0xe9,0x02,0x00,0x21,0x80 65 66# GFX10: tbuffer_store_format_d16_xyzw v[0:1], v2, s[4:7], 0 format:[BUF_FMT_10_11_11_SSCALED] idxen 670x00,0x20,0x0f,0xe9,0x02,0x00,0x21,0x80 68 69# GFX10: tbuffer_store_format_xyzw v[0:3], off, s[0:3], 0 format:[BUF_FMT_10_10_10_2_UNORM] 700x00,0x00,0x67,0xe9,0x00,0x00,0x00,0x80 71 72# GFX10: tbuffer_store_format_xyzw v[4:7], off, s[0:3], 0 format:[BUF_FMT_8_8_8_8_SINT] glc 730x00,0x40,0xef,0xe9,0x00,0x04,0x00,0x80 74 75# GFX10: tbuffer_store_format_xyzw v[8:11], off, s[0:3], 0 format:78 slc 760x00,0x00,0x77,0xea,0x00,0x08,0x40,0x80 77 78# GFX10: tbuffer_store_format_xyzw v[8:11], off, s[0:3], 0 format:78 790x00,0x00,0x77,0xea,0x00,0x08,0x00,0x80 80 81# GFX10: tbuffer_store_format_xyzw v[0:3], off, s[0:3], 0 format:117 offset:42 820x2a,0x00,0xaf,0xeb,0x00,0x00,0x00,0x80 83 84# GFX10: tbuffer_store_format_xyzw v[0:3], off, s[0:3], s4 format:117 offset:42 850x2a,0x00,0xaf,0xeb,0x00,0x00,0x00,0x04 86 87# GFX10: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], 0 format:[BUF_FMT_10_10_10_2_SSCALED] idxen 880x00,0x20,0x7f,0xe9,0x04,0x00,0x00,0x80 89 90# GFX10: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], 0 format:115 offen 910x00,0x10,0x9f,0xeb,0x04,0x00,0x00,0x80 92 93# GFX10: tbuffer_store_format_xyzw v[0:3], v[4:5], s[0:3], 0 format:[BUF_FMT_16_16_16_16_SINT] idxen offen 940x00,0x30,0x37,0xea,0x04,0x00,0x00,0x80 95 96# GFX10: tbuffer_store_format_xyzw v[0:3], v4, s[0:3], 0 format:[BUF_FMT_32_32_SINT] idxen 970x00,0x20,0xff,0xe9,0x04,0x00,0x00,0x80 98 99# GFX10: tbuffer_store_format_xyzw v[0:3], v6, s[0:3], 0 format:[BUF_FMT_10_10_10_2_USCALED] idxen 1000x00,0x20,0x77,0xe9,0x06,0x00,0x00,0x80 101 102# GFX10: tbuffer_store_format_x v0, v1, s[0:3], 0 format:125 idxen 1030x00,0x20,0xec,0xeb,0x01,0x00,0x00,0x80 104 105# GFX10: tbuffer_store_format_xy v[0:1], v2, s[0:3], 0 format:[BUF_FMT_10_11_11_SSCALED] idxen 1060x00,0x20,0x0d,0xe9,0x02,0x00,0x00,0x80 107 108# GFX10: tbuffer_store_format_x v0, v1, s[0:3], 0 format:127 idxen ; encoding: [0x00,0x20,0xfc,0xeb,0x01,0x00,0x00,0x80] 1090x00,0x20,0xfc,0xeb,0x01,0x00,0x00,0x80 110 111# GFX10: tbuffer_store_format_x v0, v1, s[0:3], 0 format:[BUF_FMT_INVALID] idxen ; encoding: [0x00,0x20,0x04,0xe8,0x01,0x00,0x00,0x80] 1120x00,0x20,0x04,0xe8,0x01,0x00,0x00,0x80 113 114# GFX10: tbuffer_load_format_d16_x v0, off, s[0:3], s0 format:[BUF_FMT_INVALID] ; encoding: [0x00,0x00,0x00,0xe8,0x00,0x00,0x20,0x00] 1150x00,0x00,0x00,0xe8,0x00,0x00,0x20,0x00 116 117# GFX10: tbuffer_store_format_x v0, v1, s[0:3], 0 idxen ; encoding: [0x00,0x20,0x0c,0xe8,0x01,0x00,0x00,0x80] 1180x00,0x20,0x0c,0xe8,0x01,0x00,0x00,0x80 119 120# GFX10: tbuffer_load_format_d16_x v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0x08,0xe8,0x00,0x00,0x20,0x00] 1210x00,0x00,0x08,0xe8,0x00,0x00,0x20,0x00 122 123# GFX10: tbuffer_store_format_x v0, v1, s[0:3], s0 format:[BUF_FMT_8_SNORM] idxen ; encoding: [0x00,0x20,0x14,0xe8,0x01,0x00,0x00,0x00] 1240x00,0x20,0x14,0xe8,0x01,0x00,0x00,0x00 125