brintos

brintos / llvm-project-archived public Read only

0
0
Text · 15.5 KiB · 6715351 Raw
319 lines · plain
1# RUN: llvm-mc -triple=amdgcn -mcpu=tonga -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI -check-prefix=GFX802# RUN: llvm-mc -triple=amdgcn -mcpu=gfx810 -disassemble -show-encoding < %s | FileCheck %s -check-prefix=VI -check-prefix=GFX813 4#===------------------------------------------------------------------------===#5# Image load/store6#===------------------------------------------------------------------------===#7 8# VI: image_load v[0:3], v4, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x00,0xf0,0x04,0x00,0x02,0x00]90x00 0x1f 0x00 0xf0 0x04 0x00 0x02 0x0010 11# VI: image_load v[0:2], v4, s[8:15] dmask:0xe unorm ; encoding: [0x00,0x1e,0x00,0xf0,0x04,0x00,0x02,0x00]120x00 0x1e 0x00 0xf0 0x04 0x00 0x02 0x0013 14# VI: image_load v[0:1], v0, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x00,0xf0,0x00,0x00,0x00,0x00]150x00 0x13 0x00 0xf0 0x00 0x00 0x00 0x0016 17# VI: image_load v0, v0, s[0:7] dmask:0x1 unorm ; encoding:   [0x00,0x11,0x00,0xf0,0x00,0x00,0x00,0x00]180x00 0x11 0x00 0xf0 0x00 0x00 0x00 0x0019 20# VI: image_store v[0:3], v4, s[0:7] dmask:0xf unorm ; encoding: [0x00,0x1f,0x20,0xf0,0x04,0x00,0x00,0x00]210x00 0x1f 0x20 0xf0 0x04 0x00 0x00 0x0022 23# VI: image_store v[0:2], v4, s[0:7] dmask:0xe unorm ; encoding: [0x00,0x1e,0x20,0xf0,0x04,0x00,0x00,0x00]240x00 0x1e 0x20 0xf0 0x04 0x00 0x00 0x0025 26# VI: image_store v[0:1], v2, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x20,0xf0,0x02,0x00,0x00,0x00]270x00 0x13 0x20 0xf0 0x02 0x00 0x00 0x0028 29# VI: image_store v0, v1, s[0:7] dmask:0x1 unorm ; encoding: [0x00,0x11,0x20,0xf0,0x01,0x00,0x00,0x00]300x00 0x11 0x20 0xf0 0x01 0x00 0x00 0x0031 32# Test all modifiers33# FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.34# VI: image_load v[5:6], v1, s[8:15] dmask:0x1 unorm glc slc r128 tfe lwe da d16 ; encoding: [0x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x80]350x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x8036 37# Test dmask == 038# VI: image_load v0, v4, s[8:15] unorm ; encoding: [0x00,0x10,0x00,0xf0,0x04,0x00,0x02,0x00]390x00 0x10 0x00 0xf0 0x04 0x00 0x02 0x0040 41# Test out of bounds register width42# VI: image_load v254, v0, s[0:7] dmask:0x7 unorm ; encoding: [0x00,0x17,0x00,0xf0,0x00,0xfe,0x00,0x00]430x00 0x17 0x00 0xf0 0x00 0xfe 0x00 0x0044 45# VI: image_load v255, v0, s[0:7] dmask:0x1 unorm ; encoding: [0x00,0x11,0x00,0xf0,0x00,0xff,0x00,0x00]460x00 0x11 0x00 0xf0 0x00 0xff 0x00 0x0047 48# VI: image_load v255, v0, s[0:7] dmask:0x3 unorm ; encoding: [0x00,0x13,0x00,0xf0,0x00,0xff,0x00,0x00]490x00 0x13 0x00 0xf0 0x00 0xff 0x00 0x0050 51#===------------------------------------------------------------------------===#52# Image load/store: packed/unpacked d1653#===------------------------------------------------------------------------===#54 55# GFX80: image_load v[0:1], v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x80]56# GFX81: image_load v0, v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x80]570x00,0x03,0x00,0xf0,0x04,0x00,0x02,0x8058 59# GFX80: image_load v[0:2], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x80]60# GFX81: image_load v[0:1], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x80]610x00,0x07,0x00,0xf0,0x04,0x00,0x02,0x8062 63# GFX80: image_load v[0:3], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x80]64# GFX81: image_load v[0:1], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x80]650x00,0x0f,0x00,0xf0,0x04,0x00,0x02,0x8066 67# GFX80: image_store v[0:1], v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x80]68# GFX81: image_store v0, v4, s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x80]690x00,0x03,0x20,0xf0,0x04,0x00,0x02,0x8070 71# GFX80: image_store v[0:2], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x80]72# GFX81: image_store v[0:1], v4, s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x80]730x00,0x07,0x20,0xf0,0x04,0x00,0x02,0x8074 75# GFX80: image_store v[0:3], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x80]76# GFX81: image_store v[0:1], v4, s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x80]770x00,0x0f,0x20,0xf0,0x04,0x00,0x02,0x8078 79# GFX80: image_load v[0:2], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x80]80# GFX81: image_load v[0:1], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x80]810x00,0x03,0x01,0xf0,0x04,0x00,0x02,0x8082 83# GFX80: image_load v[0:3], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x80]84# GFX81: image_load v[0:2], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x80]850x00,0x07,0x01,0xf0,0x04,0x00,0x02,0x8086 87# GFX80: image_load v[0:4], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x80]88# GFX81: image_load v[0:2], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x80]890x00,0x0f,0x01,0xf0,0x04,0x00,0x02,0x8090 91# GFX80: image_store v[0:2], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x80]92# GFX81: image_store v[0:1], v4, s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x80]930x00,0x03,0x21,0xf0,0x04,0x00,0x02,0x8094 95# GFX80: image_store v[0:3], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x80]96# GFX81: image_store v[0:2], v4, s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x80]970x00,0x07,0x21,0xf0,0x04,0x00,0x02,0x8098 99# GFX80: image_store v[0:4], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80]100# GFX81: image_store v[0:2], v4, s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80]1010x00,0x0f,0x21,0xf0,0x04,0x00,0x02,0x80102 103#===------------------------------------------------------------------------===#104# Image load/store: PCK variants105#===------------------------------------------------------------------------===#106 107# VI: image_load_mip_pck v5, v1, s[8:15] dmask:0x1 ; encoding: [0x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00]1080x00,0x01,0x10,0xf0,0x01,0x05,0x02,0x00109 110# VI: image_load_mip_pck v[5:6], v1, s[8:15] dmask:0x3 ; encoding: [0x00,0x03,0x10,0xf0,0x01,0x05,0x02,0x00]1110x00,0x03,0x10,0xf0,0x01,0x05,0x02,0x00112 113# VI: image_load_mip_pck_sgn v[5:6], v1, s[8:15] dmask:0x5 ; encoding: [0x00,0x05,0x14,0xf0,0x01,0x05,0x02,0x00]1140x00,0x05,0x14,0xf0,0x01,0x05,0x02,0x00115 116# VI: image_load_pck v5, v1, s[8:15] dmask:0x1 glc ; encoding: [0x00,0x21,0x08,0xf0,0x01,0x05,0x02,0x00]1170x00,0x21,0x08,0xf0,0x01,0x05,0x02,0x00118 119# VI: image_load_pck_sgn v5, v1, s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00]1200x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00121 122# VI: image_store_mip_pck v252, v2, s[12:19] dmask:0x1 unorm ; encoding: [0x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00]1230x00,0x11,0x2c,0xf0,0x02,0xfc,0x03,0x00124 125# VI: image_store_mip_pck v1, v2, s[12:19] dmask:0x1 unorm glc slc lwe da ; encoding: [0x00,0x71,0x2e,0xf2,0x02,0x01,0x03,0x00]1260x00,0x71,0x2e,0xf2,0x02,0x01,0x03,0x00127 128# VI: image_store_pck v1, v2, s[12:19] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00]1290x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00130 131#===------------------------------------------------------------------------===#132# Image sample133#===------------------------------------------------------------------------===#134 135# VI: image_sample v[193:195], v237, s[28:35], s[4:7] dmask:0x7 unorm ; encoding: [0x00,0x17,0x80,0xf0,0xed,0xc1,0x27,0x00]1360x00,0x17,0x80,0xf0,0xed,0xc1,0x27,0x00137 138# GFX80: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0x3 d16 ; encoding: [0x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80]139# GFX81: image_sample v193, v237, s[28:35], s[4:7] dmask:0x3 d16 ; encoding: [0x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80]1400x00,0x03,0x80,0xf0,0xed,0xc1,0x27,0x80141 142# GFX80: image_sample v[193:195], v237, s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]143# GFX81: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]1440x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80145 146# GFX80: image_sample v[193:196], v237, s[28:35], s[4:7] dmask:0xf d16 ; encoding: [0x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80]147# GFX81: image_sample v[193:194], v237, s[28:35], s[4:7] dmask:0xf d16 ; encoding: [0x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80]1480x00,0x0f,0x80,0xf0,0xed,0xc1,0x27,0x80149 150#===------------------------------------------------------------------------===#151# Image atomics152#===------------------------------------------------------------------------===#153 154# VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00]1550x00,0x11,0x48,0xf0,0x01,0x05,0x02,0x00156 157# VI: image_atomic_add v252, v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00]1580x00,0x11,0x48,0xf0,0x01,0xfc,0x02,0x00159 160# VI: image_atomic_add v5, v255, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0xff,0x05,0x02,0x00]1610x00,0x11,0x48,0xf0,0xff,0x05,0x02,0x00162 163# VI: image_atomic_add v5, v1, s[92:99] dmask:0x1 unorm ; encoding: [0x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00]1640x00,0x11,0x48,0xf0,0x01,0x05,0x17,0x00165 166# VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm glc ; encoding: [0x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00]1670x00,0x31,0x48,0xf0,0x01,0x05,0x02,0x00168 169# VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm slc ; encoding: [0x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00]1700x00,0x11,0x48,0xf2,0x01,0x05,0x02,0x00171 172# VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm lwe ; encoding: [0x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00]1730x00,0x11,0x4a,0xf0,0x01,0x05,0x02,0x00174 175# VI: image_atomic_add v5, v1, s[8:15] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00]1760x00,0x51,0x48,0xf0,0x01,0x05,0x02,0x00177 178# VI: image_atomic_add v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00]1790x00,0x13,0x48,0xf0,0x01,0x05,0x02,0x00180 181# VI: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x3 unorm ; encoding: [0x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00]1820x00,0x13,0x44,0xf0,0x01,0x05,0x02,0x00183 184# VI: image_atomic_cmpswap v[5:8], v1, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00]1850x00,0x1f,0x44,0xf0,0x01,0x05,0x02,0x00186 187# VI: image_atomic_add v[5:6], v1, s[8:15] dmask:0x1 tfe1880x00,0x01,0x49,0xf0,0x01,0x05,0x02,0x00189 190# VI: image_atomic_add v[5:7], v1, s[8:15] dmask:0x3 tfe1910x00,0x03,0x49,0xf0,0x01,0x05,0x02,0x00192 193# VI: image_atomic_and v[5:6], v1, s[8:15] dmask:0x1 tfe1940x00,0x01,0x61,0xf0,0x01,0x05,0x02,0x00195 196# VI: image_atomic_and v[5:7], v1, s[8:15] dmask:0x3 tfe1970x00,0x03,0x61,0xf0,0x01,0x05,0x02,0x00198 199# VI: image_atomic_cmpswap v[5:7], v1, s[8:15] dmask:0x3 tfe2000x00,0x03,0x45,0xf0,0x01,0x05,0x02,0x00201 202# VI: image_atomic_cmpswap v[5:9], v1, s[8:15] dmask:0xf tfe2030x00,0x0f,0x45,0xf0,0x01,0x05,0x02,0x00204 205# VI: image_atomic_dec v[5:6], v1, s[8:15] dmask:0x1 tfe2060x00,0x01,0x71,0xf0,0x01,0x05,0x02,0x00207 208# VI: image_atomic_dec v[5:7], v1, s[8:15] dmask:0x3 tfe2090x00,0x03,0x71,0xf0,0x01,0x05,0x02,0x00210 211# VI: image_atomic_inc v[5:6], v1, s[8:15] dmask:0x1 tfe2120x00,0x01,0x6d,0xf0,0x01,0x05,0x02,0x00213 214# VI: image_atomic_inc v[5:7], v1, s[8:15] dmask:0x3 tfe2150x00,0x03,0x6d,0xf0,0x01,0x05,0x02,0x00216 217# VI: image_atomic_or v[5:6], v1, s[8:15] dmask:0x1 tfe2180x00,0x01,0x65,0xf0,0x01,0x05,0x02,0x00219 220# VI: image_atomic_or v[5:7], v1, s[8:15] dmask:0x3 tfe2210x00,0x03,0x65,0xf0,0x01,0x05,0x02,0x00222 223# VI: image_atomic_smax v[5:6], v1, s[8:15] dmask:0x1 tfe2240x00,0x01,0x59,0xf0,0x01,0x05,0x02,0x00225 226# VI: image_atomic_smax v[5:7], v1, s[8:15] dmask:0x3 tfe2270x00,0x03,0x59,0xf0,0x01,0x05,0x02,0x00228 229# VI: image_atomic_smin v[5:6], v1, s[8:15] dmask:0x1 tfe2300x00,0x01,0x51,0xf0,0x01,0x05,0x02,0x00231 232# VI: image_atomic_smin v[5:7], v1, s[8:15] dmask:0x3 tfe2330x00,0x03,0x51,0xf0,0x01,0x05,0x02,0x00234 235# VI: image_atomic_sub v[5:6], v1, s[8:15] dmask:0x1 tfe2360x00,0x01,0x4d,0xf0,0x01,0x05,0x02,0x00237 238# VI: image_atomic_sub v[5:7], v1, s[8:15] dmask:0x3 tfe2390x00,0x03,0x4d,0xf0,0x01,0x05,0x02,0x00240 241# VI: image_atomic_swap v[5:6], v1, s[8:15] dmask:0x1 tfe2420x00,0x01,0x41,0xf0,0x01,0x05,0x02,0x00243 244# VI: image_atomic_swap v[5:7], v1, s[8:15] dmask:0x3 tfe2450x00,0x03,0x41,0xf0,0x01,0x05,0x02,0x00246 247# VI: image_atomic_umax v[5:6], v1, s[8:15] dmask:0x1 tfe2480x00,0x01,0x5d,0xf0,0x01,0x05,0x02,0x00249 250# VI: image_atomic_umax v[5:7], v1, s[8:15] dmask:0x3 tfe2510x00,0x03,0x5d,0xf0,0x01,0x05,0x02,0x00252 253# VI: image_atomic_umin v[5:6], v1, s[8:15] dmask:0x1 tfe2540x00,0x01,0x55,0xf0,0x01,0x05,0x02,0x00255 256# VI: image_atomic_umin v[5:7], v1, s[8:15] dmask:0x3 tfe2570x00,0x03,0x55,0xf0,0x01,0x05,0x02,0x00258 259# VI: image_atomic_xor v[5:6], v1, s[8:15] dmask:0x1 tfe2600x00,0x01,0x69,0xf0,0x01,0x05,0x02,0x00261 262# VI: image_atomic_xor v[5:7], v1, s[8:15] dmask:0x3 tfe2630x00,0x03,0x69,0xf0,0x01,0x05,0x02,0x00264 265 266#===------------------------------------------------------------------------===#267# Invalid image atomics (incorrect dmask value).268# Disassembler may produce a partially incorrect instruction but should not fail.269#===------------------------------------------------------------------------===#270 271# VI: image_atomic_add v5, v1, s[8:15] dmask:0x2 unorm ; encoding: [0x00,0x12,0x48,0xf0,0x01,0x05,0x02,0x00]2720x00,0x12,0x48,0xf0,0x01,0x05,0x02,0x00273 274# VI: image_atomic_add v[5:7], v1, s[8:15] dmask:0x7 unorm ; encoding: [0x00,0x17,0x48,0xf0,0x01,0x05,0x02,0x00]2750x00,0x17,0x48,0xf0,0x01,0x05,0x02,0x00276 277# VI: image_atomic_add v5, v1, s[8:15] dmask:0xf unorm ; encoding: [0x00,0x1f,0x48,0xf0,0x01,0x05,0x02,0x00]2780x00,0x1f,0x48,0xf0,0x01,0x05,0x02,0x00279 280# VI: image_atomic_cmpswap v[5:6], v1, s[8:15] unorm ; encoding: [0x00,0x10,0x44,0xf0,0x01,0x05,0x02,0x00]2810x00,0x10,0x44,0xf0,0x01,0x05,0x02,0x00282 283# VI: image_atomic_cmpswap v[5:6], v1, s[8:15] dmask:0x1 unorm ; encoding: [0x00,0x11,0x44,0xf0,0x01,0x05,0x02,0x00]2840x00,0x11,0x44,0xf0,0x01,0x05,0x02,0x00285 286# VI: image_atomic_cmpswap v[5:7], v1, s[8:15] dmask:0xe unorm ; encoding: [0x00,0x1e,0x44,0xf0,0x01,0x05,0x02,0x00]2870x00,0x1e,0x44,0xf0,0x01,0x05,0x02,0x00288 289#===------------------------------------------------------------------------===#290# Image gather291#===------------------------------------------------------------------------===#292 293# VI: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x1 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0xfc,0x62,0x00]2940x00,0x01,0x00,0xf1,0x01,0xfc,0x62,0x00295 296# VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x2 ; encoding: [0x00,0x02,0x00,0xf1,0x01,0x05,0x62,0x00]2970x00,0x02,0x00,0xf1,0x01,0x05,0x62,0x00298 299# VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x4 ; encoding: [0x00,0x04,0x00,0xf1,0x01,0x05,0x62,0x00]3000x00,0x04,0x00,0xf1,0x01,0x05,0x62,0x00301 302# VI: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x8 ; encoding: [0x00,0x08,0x00,0xf1,0x01,0x05,0x62,0x00]3030x00,0x08,0x00,0xf1,0x01,0x05,0x62,0x00304 305# GFX80: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc lwe da d16 ; encoding: [0x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80]306# GFX81: image_gather4 v[252:253], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc lwe da d16 ; encoding: [0x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80]3070x00,0x71,0x02,0xf3,0x01,0xfc,0x62,0x80308 309#===------------------------------------------------------------------------===#310# Invalid image gather (incorrect dmask value or tfe).311# Disassembler may produce a partially incorrect instruction but should not fail.312#===------------------------------------------------------------------------===#313 314# VI: image_gather4 v[252:255], v1, s[8:15], s[12:15] dmask:0x3 ; encoding: [0x00,0x03,0x00,0xf1,0x01,0xfc,0x62,0x00]3150x00,0x03,0x00,0xf1,0x01,0xfc,0x62,0x00316 317# VI: image_gather4 v[252:253], v1, s[8:15], s[12:15] dmask:0x1 unorm glc slc tfe lwe da ; encoding: [0x00,0x71,0x03,0xf3,0x01,0xfc,0x62,0x00]3180x00,0x71,0x03,0xf3,0x01,0xfc,0x62,0x00319