1// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti -show-encoding %s | FileCheck -check-prefix=SICI %s 2// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck -check-prefix=SICI %s 3// RUN: not llvm-mc -triple=amdgcn -mcpu=kaveri -show-encoding %s | FileCheck -check-prefix=SICI %s 4// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga -show-encoding %s | FileCheck --check-prefixes=VI,GFX89 %s 5// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 -show-encoding %s | FileCheck --check-prefixes=GFX89,GFX9 %s 6// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1012 -show-encoding %s | FileCheck --check-prefixes=GFX10,GFX1012 %s 7// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1030 -show-encoding %s | FileCheck -check-prefix=GFX10 %s 8// RUN: not llvm-mc -triple=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck --check-prefixes=NOSICI,NOSICIGFX10,NOSICIGFX1030,NOSICIVIGFX1030 --implicit-check-not=error: %s 9// RUN: not llvm-mc -triple=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck --check-prefixes=NOSICI,NOSICIGFX10,NOSICIGFX1030,NOSICIVIGFX1030 --implicit-check-not=error: %s 10// RUN: not llvm-mc -triple=amdgcn -mcpu=kaveri %s 2>&1 | FileCheck --check-prefixes=NOSICI,NOSICIGFX10,NOSICIGFX1030,NOSICIVIGFX1030 --implicit-check-not=error: %s 11// RUN: not llvm-mc -triple=amdgcn -mcpu=tonga %s 2>&1 | FileCheck --check-prefixes=NOVI,NOSICIVIGFX1030 --implicit-check-not=error: %s 12// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck --check-prefixes=NOGFX9GFX10,NOGFX9GFX1012,NOGFX9 --implicit-check-not=error: %s 13// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1012 %s 2>&1 | FileCheck --check-prefixes=NOSICIGFX10,NOGFX9GFX10,NOGFX9GFX1012,NOGFX10 --implicit-check-not=error: %s 14// RUN: not llvm-mc -triple=amdgcn -mcpu=gfx1030 %s 2>&1 | FileCheck --check-prefixes=NOSICIGFX1030,NOSICIVIGFX1030,NOSICIGFX10,NOGFX9GFX10,NOGFX1030,NOGFX10 --implicit-check-not=error: %s 15 16s_dcache_wb 17// GFX89: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00] 18// GFX1012: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00] 19// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 20 21s_dcache_wb_vol 22// GFX89: s_dcache_wb_vol ; encoding: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00] 23// NOSICIGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 24 25s_atc_probe 0x7, s[4:5], s0 26// GFX89: s_atc_probe 7, s[4:5], s0 ; encoding: [0xc2,0x01,0x98,0xc0,0x00,0x00,0x00,0x00] 27// GFX10: s_atc_probe 7, s[4:5], s0 ; encoding: [0xc2,0x01,0x98,0xf4,0x00,0x00,0x00,0x00] 28// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 29 30s_atc_probe 0x0, s[4:5], 0x0 31// GFX89: s_atc_probe 0, s[4:5], 0x0 ; encoding: [0x02,0x00,0x9a,0xc0,0x00,0x00,0x00,0x00] 32// GFX10: s_atc_probe 0, s[4:5], 0x0 ; encoding: [0x02,0x00,0x98,0xf4,0x00,0x00,0x00,0xfa] 33// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 34 35s_atc_probe_buffer 0x1, s[8:11], s0 36// GFX89: s_atc_probe_buffer 1, s[8:11], s0 ; encoding: [0x44,0x00,0x9c,0xc0,0x00,0x00,0x00,0x00] 37// GFX10: s_atc_probe_buffer 1, s[8:11], s0 ; encoding: [0x44,0x00,0x9c,0xf4,0x00,0x00,0x00,0x00] 38// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 39 40s_atc_probe_buffer 0x0, s[8:11], s101 41// GFX89: s_atc_probe_buffer 0, s[8:11], s101 ; encoding: [0x04,0x00,0x9c,0xc0,0x65,0x00,0x00,0x00] 42// GFX10: s_atc_probe_buffer 0, s[8:11], s101 ; encoding: [0x04,0x00,0x9c,0xf4,0x00,0x00,0x00,0xca] 43// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 44 45s_memrealtime s[4:5] 46// GFX89: s_memrealtime s[4:5] ; encoding: [0x00,0x01,0x94,0xc0,0x00,0x00,0x00,0x00] 47// GFX10: s_memrealtime s[4:5] ; encoding: [0x00,0x01,0x94,0xf4,0x00,0x00,0x00,0x00] 48// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 49 50s_memrealtime tba 51// VI: s_memrealtime tba ; encoding: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00] 52// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 53// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tba register not available on this GPU 54 55s_memrealtime tma 56// VI: s_memrealtime tma ; encoding: [0x80,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00] 57// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 58// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tma register not available on this GPU 59 60s_memrealtime ttmp[0:1] 61// VI: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1c,0x94,0xc0,0x00,0x00,0x00,0x00] 62// GFX9: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00] 63// GFX10: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1b,0x94,0xf4,0x00,0x00,0x00,0x00] 64// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 65 66s_store_dword s1, s[2:3], 0xfc 67// GFX89: s_store_dword s1, s[2:3], 0xfc ; encoding: [0x41,0x00,0x42,0xc0,0xfc,0x00,0x00,0x00] 68// GFX1012: s_store_dword s1, s[2:3], 0xfc ; encoding: [0x41,0x00,0x40,0xf4,0xfc,0x00,0x00,0xfa] 69// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 70 71s_store_dword s1, s[2:3], 0xfc glc 72// GFX89: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x43,0xc0,0xfc,0x00,0x00,0x00] 73// GFX1012: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x41,0xf4,0xfc,0x00,0x00,0xfa] 74// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 75 76s_store_dword s1, s[2:3], s4 77// GFX89: s_store_dword s1, s[2:3], s4 ; encoding: [0x41,0x00,0x40,0xc0,0x04,0x00,0x00,0x00] 78// GFX1012: s_store_dword s1, s[2:3], s4 ; encoding: [0x41,0x00,0x40,0xf4,0x00,0x00,0x00,0x08] 79// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 80 81s_store_dword s1, s[2:3], s4 glc 82// GFX89: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xc0,0x04,0x00,0x00,0x00] 83// GFX1012: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xf4,0x00,0x00,0x00,0x08] 84// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 85 86s_store_dword tba_lo, s[2:3], s4 87// VI: s_store_dword tba_lo, s[2:3], s4 ; encoding: [0x01,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00] 88// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 89// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tba_lo register not available on this GPU 90// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 91 92s_store_dword tba_hi, s[2:3], s4 93// VI: s_store_dword tba_hi, s[2:3], s4 ; encoding: [0x41,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00] 94// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 95// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tba_hi register not available on this GPU 96// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 97 98s_store_dword tma_lo, s[2:3], s4 99// VI: s_store_dword tma_lo, s[2:3], s4 ; encoding: [0x81,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00] 100// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 101// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tma_lo register not available on this GPU 102// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 103 104s_store_dword tma_hi, s[2:3], s4 105// VI: s_store_dword tma_hi, s[2:3], s4 ; encoding: [0xc1,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00] 106// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 107// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tma_hi register not available on this GPU 108// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 109 110s_load_dword s1, s[2:3], 0xfc glc 111// GFX89: s_load_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x03,0xc0,0xfc,0x00,0x00,0x00] 112// GFX10: s_load_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x01,0xf4,0xfc,0x00,0x00,0xfa] 113// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions 114 115s_load_dword s1, s[2:3], s4 glc 116// GFX89: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xc0,0x04,0x00,0x00,0x00] 117// GFX10: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xf4,0x00,0x00,0x00,0x08] 118// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions 119 120s_buffer_store_dword s10, s[92:95], m0 121// GFX89: s_buffer_store_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x60,0xc0,0x7c,0x00,0x00,0x00] 122// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 123// GFX1012: s_buffer_store_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x60,0xf4,0x00,0x00,0x00,0xf8] 124 125s_buffer_store_dword tba_lo, s[92:95], m0 126// VI: s_buffer_store_dword tba_lo, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00] 127// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 128// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tba_lo register not available on this GPU 129// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 130 131s_buffer_store_dword tba_hi, s[92:95], m0 132// VI: s_buffer_store_dword tba_hi, s[92:95], m0 ; encoding: [0x6e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00] 133// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 134// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tba_hi register not available on this GPU 135// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 136 137s_buffer_store_dword tma_lo, s[92:95], m0 138// VI: s_buffer_store_dword tma_lo, s[92:95], m0 ; encoding: [0xae,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00] 139// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 140// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tma_lo register not available on this GPU 141// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 142 143s_buffer_store_dword tma_hi, s[92:95], m0 144// VI: s_buffer_store_dword tma_hi, s[92:95], m0 ; encoding: [0xee,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00] 145// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 146// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tma_hi register not available on this GPU 147// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 148 149s_buffer_store_dword ttmp0, s[92:95], m0 150// VI: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1c,0x60,0xc0,0x7c,0x00,0x00,0x00] 151// GFX9: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00] 152// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 153// GFX1012: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xf4,0x00,0x00,0x00,0xf8] 154 155s_buffer_store_dwordx2 s[10:11], s[92:95], m0 156// GFX89: s_buffer_store_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x64,0xc0,0x7c,0x00,0x00,0x00] 157// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 158// GFX1012: s_buffer_store_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x64,0xf4,0x00,0x00,0x00,0xf8] 159 160s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc 161// GFX89: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xc0,0x7c,0x00,0x00,0x00] 162// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 163// GFX1012: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xf4,0x00,0x00,0x00,0xf8] 164 165s_buffer_store_dwordx2 tba, s[92:95], m0 glc 166// VI: s_buffer_store_dwordx2 tba, s[92:95], m0 glc ; encoding: [0x2e,0x1b,0x65,0xc0,0x7c,0x00,0x00,0x00] 167// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 168// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: tba register not available on this GPU 169// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 170 171s_buffer_load_dword s10, s[92:95], m0 172// GFX89: s_buffer_load_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x20,0xc0,0x7c,0x00,0x00,0x00] 173// SICI: s_buffer_load_dword s10, s[92:95], m0 ; encoding: [0x7c,0x5c,0x05,0xc2] 174// GFX10: s_buffer_load_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x20,0xf4,0x00,0x00,0x00,0xf8] 175 176s_buffer_load_dword tba_lo, s[92:95], m0 177// VI: s_buffer_load_dword tba_lo, s[92:95], m0 ; encoding: [0x2e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00] 178// SICI: s_buffer_load_dword tba_lo, s[92:95], m0 ; encoding: [0x7c,0x5c,0x36,0xc2] 179// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tba_lo register not available on this GPU 180 181s_buffer_load_dword tba_hi, s[92:95], m0 182// VI: s_buffer_load_dword tba_hi, s[92:95], m0 ; encoding: [0x6e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00] 183// SICI: s_buffer_load_dword tba_hi, s[92:95], m0 ; encoding: [0x7c,0xdc,0x36,0xc2] 184// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tba_hi register not available on this GPU 185 186s_buffer_load_dword tma_lo, s[92:95], m0 187// VI: s_buffer_load_dword tma_lo, s[92:95], m0 ; encoding: [0xae,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00] 188// SICI: s_buffer_load_dword tma_lo, s[92:95], m0 ; encoding: [0x7c,0x5c,0x37,0xc2] 189// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tma_lo register not available on this GPU 190 191s_buffer_load_dword tma_hi, s[92:95], m0 192// VI: s_buffer_load_dword tma_hi, s[92:95], m0 ; encoding: [0xee,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00] 193// SICI: s_buffer_load_dword tma_hi, s[92:95], m0 ; encoding: [0x7c,0xdc,0x37,0xc2] 194// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tma_hi register not available on this GPU 195 196s_buffer_load_dword ttmp0, s[92:95], m0 197// VI: s_buffer_load_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1c,0x20,0xc0,0x7c,0x00,0x00,0x00] 198// GFX9: s_buffer_load_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00] 199// SICI: s_buffer_load_dword ttmp0, s[92:95], m0 ; encoding: [0x7c,0x5c,0x38,0xc2] 200// GFX10: s_buffer_load_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x20,0xf4,0x00,0x00,0x00,0xf8] 201 202s_buffer_load_dwordx2 s[10:11], s[92:95], m0 203// GFX89: s_buffer_load_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x24,0xc0,0x7c,0x00,0x00,0x00] 204// SICI: s_buffer_load_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0x7c,0x5c,0x45,0xc2] 205// GFX10: s_buffer_load_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x24,0xf4,0x00,0x00,0x00,0xf8] 206 207s_buffer_load_dwordx2 tba, s[92:95], m0 208// VI: s_buffer_load_dwordx2 tba, s[92:95], m0 ; encoding: [0x2e,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00] 209// SICI: s_buffer_load_dwordx2 tba, s[92:95], m0 ; encoding: [0x7c,0x5c,0x76,0xc2] 210// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tba register not available on this GPU 211 212s_buffer_load_dwordx2 tma, s[92:95], m0 213// VI: s_buffer_load_dwordx2 tma, s[92:95], m0 ; encoding: [0xae,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00] 214// SICI: s_buffer_load_dwordx2 tma, s[92:95], m0 ; encoding: [0x7c,0x5c,0x77,0xc2] 215// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: tma register not available on this GPU 216 217s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 218// VI: s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 ; encoding: [0x2e,0x1c,0x24,0xc0,0x7c,0x00,0x00,0x00] 219// GFX9: s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 ; encoding: [0x2e,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00] 220// SICI: s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 ; encoding: [0x7c,0x5c,0x78,0xc2] 221// GFX10: s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 ; encoding: [0x2e,0x1b,0x24,0xf4,0x00,0x00,0x00,0xf8] 222 223s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc 224// GFX89: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xc0,0x7c,0x00,0x00,0x00] 225// GFX10: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xf4,0x00,0x00,0x00,0xf8] 226// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions 227 228//===----------------------------------------------------------------------===// 229// s_scratch instructions 230//===----------------------------------------------------------------------===// 231 232s_scratch_load_dword s5, s[2:3], s101 233// GFX9: s_scratch_load_dword s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xc0,0x65,0x00,0x00,0x00] 234// GFX1012: s_scratch_load_dword s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xf4,0x00,0x00,0x00,0xca] 235// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 236 237s_scratch_load_dword s5, s[2:3], s0 glc 238// GFX9: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xc0,0x00,0x00,0x00,0x00] 239// GFX1012: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xf4,0x00,0x00,0x00,0x00] 240// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 241 242s_scratch_load_dwordx2 s[100:101], s[2:3], s0 243// GFX9: s_scratch_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x18,0xc0,0x00,0x00,0x00,0x00] 244// GFX1012: s_scratch_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x18,0xf4,0x00,0x00,0x00,0x00] 245// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 246 247s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc 248// GFX9: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x1b,0xc0,0x01,0x00,0x00,0x00] 249// GFX1012: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x19,0xf4,0x01,0x00,0x00,0xfa] 250// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 251 252s_scratch_load_dwordx4 s[20:23], s[4:5], s0 253// GFX9: s_scratch_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x1c,0xc0,0x00,0x00,0x00,0x00] 254// GFX1012: s_scratch_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x1c,0xf4,0x00,0x00,0x00,0x00] 255// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 256 257s_scratch_store_dword s101, s[4:5], s0 258// GFX9: s_scratch_store_dword s101, s[4:5], s0 ; encoding: [0x42,0x19,0x54,0xc0,0x00,0x00,0x00,0x00] 259// GFX1012: s_scratch_store_dword s101, s[4:5], s0 ; encoding: [0x42,0x19,0x54,0xf4,0x00,0x00,0x00,0x00] 260// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 261 262s_scratch_store_dword s1, s[4:5], 0x123 glc 263// GFX9: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x57,0xc0,0x23,0x01,0x00,0x00] 264// GFX1012: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x55,0xf4,0x23,0x01,0x00,0xfa] 265// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 266 267s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc 268// GFX9: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xc0,0x65,0x00,0x00,0x00] 269// GFX1012: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xf4,0x00,0x00,0x00,0xca] 270// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 271 272s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc 273// GFX9: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xc0,0x00,0x00,0x00,0x00] 274// GFX1012: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xf4,0x00,0x00,0x00,0x00] 275// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 276 277//===----------------------------------------------------------------------===// 278// s_dcache_discard instructions 279//===----------------------------------------------------------------------===// 280 281s_dcache_discard s[2:3], s0 282// GFX9: s_dcache_discard s[2:3], s0 ; encoding: [0x01,0x00,0xa0,0xc0,0x00,0x00,0x00,0x00] 283// GFX1012: s_dcache_discard s[2:3], s0 ; encoding: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0x00] 284// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 285 286s_dcache_discard s[2:3], 0x0 287// GFX9: s_dcache_discard s[2:3], 0x0 ; encoding: [0x01,0x00,0xa2,0xc0,0x00,0x00,0x00,0x00] 288// GFX1012: s_dcache_discard s[2:3], 0x0 ; encoding: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0xfa] 289// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 290 291s_dcache_discard_x2 s[2:3], s101 292// GFX9: s_dcache_discard_x2 s[2:3], s101 ; encoding: [0x01,0x00,0xa4,0xc0,0x65,0x00,0x00,0x00] 293// GFX1012: s_dcache_discard_x2 s[2:3], s101 ; encoding: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xca] 294// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 295 296s_dcache_discard_x2 s[2:3], 0x0 297// GFX9: s_dcache_discard_x2 s[2:3], 0x0 ; encoding: [0x01,0x00,0xa6,0xc0,0x00,0x00,0x00,0x00] 298// GFX1012: s_dcache_discard_x2 s[2:3], 0x0 ; encoding: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xfa] 299// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 300 301//===----------------------------------------------------------------------===// 302// s_atomic instructions 303//===----------------------------------------------------------------------===// 304 305s_atomic_add s5, s[2:3], s101 306// GFX9: s_atomic_add s5, s[2:3], s101 ; encoding: [0x41,0x01,0x08,0xc2,0x65,0x00,0x00,0x00] 307// GFX1012: s_atomic_add s5, s[2:3], s101 ; encoding: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xca] 308// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 309 310s_atomic_add s5, s[2:3], 0x0 311// GFX9: s_atomic_add s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x0a,0xc2,0x00,0x00,0x00,0x00] 312// GFX1012: s_atomic_add s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xfa] 313// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 314 315s_atomic_add s5, s[2:3], s0 glc 316// GFX9: s_atomic_add s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x09,0xc2,0x00,0x00,0x00,0x00] 317// GFX1012: s_atomic_add s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x09,0xf6,0x00,0x00,0x00,0x00] 318// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 319 320s_atomic_add_x2 s[10:11], s[2:3], s101 321// GFX9: s_atomic_add_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x88,0xc2,0x65,0x00,0x00,0x00] 322// GFX1012: s_atomic_add_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x88,0xf6,0x00,0x00,0x00,0xca] 323// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 324 325s_atomic_and s5, s[2:3], s101 326// GFX9: s_atomic_and s5, s[2:3], s101 ; encoding: [0x41,0x01,0x20,0xc2,0x65,0x00,0x00,0x00] 327// GFX1012: s_atomic_and s5, s[2:3], s101 ; encoding: [0x41,0x01,0x20,0xf6,0x00,0x00,0x00,0xca] 328// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 329 330s_atomic_and_x2 s[10:11], s[2:3], 0x0 331// GFX9: s_atomic_and_x2 s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0xa2,0xc2,0x00,0x00,0x00,0x00] 332// GFX1012: s_atomic_and_x2 s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0xa0,0xf6,0x00,0x00,0x00,0xfa] 333// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 334 335s_atomic_cmpswap s[10:11], s[2:3], s101 336// GFX9: s_atomic_cmpswap s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xc2,0x65,0x00,0x00,0x00] 337// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xca] 338// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 339 340s_atomic_cmpswap s[10:11], s[2:3], 0x0 341// GFX9: s_atomic_cmpswap s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x06,0xc2,0x00,0x00,0x00,0x00] 342// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xfa] 343// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 344 345s_atomic_cmpswap s[10:11], s[2:3], s0 glc 346// GFX9: s_atomic_cmpswap s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xc2,0x00,0x00,0x00,0x00] 347// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xf6,0x00,0x00,0x00,0x00] 348// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 349 350s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 351// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x84,0xc2,0x65,0x00,0x00,0x00] 352// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xca] 353// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 354 355s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0 356// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x86,0xc2,0x00,0x00,0x00,0x00] 357// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xfa] 358// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 359 360s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc 361// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x85,0xc2,0x00,0x00,0x00,0x00] 362// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x85,0xf6,0x00,0x00,0x00,0x00] 363// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 364 365s_atomic_dec s5, s[2:3], s0 glc 366// GFX9: s_atomic_dec s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x31,0xc2,0x00,0x00,0x00,0x00] 367// GFX1012: s_atomic_dec s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x31,0xf6,0x00,0x00,0x00,0x00] 368// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 369 370s_atomic_dec_x2 s[10:11], s[2:3], s101 371// GFX9: s_atomic_dec_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xb0,0xc2,0x65,0x00,0x00,0x00] 372// GFX1012: s_atomic_dec_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xb0,0xf6,0x00,0x00,0x00,0xca] 373// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 374 375s_atomic_inc s5, s[2:3], s0 glc 376// GFX9: s_atomic_inc s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x2d,0xc2,0x00,0x00,0x00,0x00] 377// GFX1012: s_atomic_inc s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x2d,0xf6,0x00,0x00,0x00,0x00] 378// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 379 380s_atomic_inc_x2 s[10:11], s[2:3], s101 381// GFX9: s_atomic_inc_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xac,0xc2,0x65,0x00,0x00,0x00] 382// GFX1012: s_atomic_inc_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xac,0xf6,0x00,0x00,0x00,0xca] 383// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 384 385s_atomic_or s5, s[2:3], 0x0 386// GFX9: s_atomic_or s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x26,0xc2,0x00,0x00,0x00,0x00] 387// GFX1012: s_atomic_or s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x24,0xf6,0x00,0x00,0x00,0xfa] 388// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 389 390s_atomic_or_x2 s[10:11], s[2:3], s0 glc 391// GFX9: s_atomic_or_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa5,0xc2,0x00,0x00,0x00,0x00] 392// GFX1012: s_atomic_or_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa5,0xf6,0x00,0x00,0x00,0x00] 393// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 394 395s_atomic_smax s5, s[2:3], s101 396// GFX9: s_atomic_smax s5, s[2:3], s101 ; encoding: [0x41,0x01,0x18,0xc2,0x65,0x00,0x00,0x00] 397// GFX1012: s_atomic_smax s5, s[2:3], s101 ; encoding: [0x41,0x01,0x18,0xf6,0x00,0x00,0x00,0xca] 398// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 399 400s_atomic_smax_x2 s[10:11], s[2:3], s0 glc 401// GFX9: s_atomic_smax_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x99,0xc2,0x00,0x00,0x00,0x00] 402// GFX1012: s_atomic_smax_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x99,0xf6,0x00,0x00,0x00,0x00] 403// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 404 405s_atomic_smin s5, s[2:3], s101 406// GFX9: s_atomic_smin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x10,0xc2,0x65,0x00,0x00,0x00] 407// GFX1012: s_atomic_smin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x10,0xf6,0x00,0x00,0x00,0xca] 408// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 409 410s_atomic_smin_x2 s[10:11], s[2:3], s0 glc 411// GFX9: s_atomic_smin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x91,0xc2,0x00,0x00,0x00,0x00] 412// GFX1012: s_atomic_smin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x91,0xf6,0x00,0x00,0x00,0x00] 413// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 414 415s_atomic_sub s5, s[2:3], s101 416// GFX9: s_atomic_sub s5, s[2:3], s101 ; encoding: [0x41,0x01,0x0c,0xc2,0x65,0x00,0x00,0x00] 417// GFX1012: s_atomic_sub s5, s[2:3], s101 ; encoding: [0x41,0x01,0x0c,0xf6,0x00,0x00,0x00,0xca] 418// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 419 420s_atomic_sub_x2 s[10:11], s[2:3], s0 glc 421// GFX9: s_atomic_sub_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x8d,0xc2,0x00,0x00,0x00,0x00] 422// GFX1012: s_atomic_sub_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x8d,0xf6,0x00,0x00,0x00,0x00] 423// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 424 425s_atomic_swap s5, s[2:3], s101 426// GFX9: s_atomic_swap s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xc2,0x65,0x00,0x00,0x00] 427// GFX1012: s_atomic_swap s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xf6,0x00,0x00,0x00,0xca] 428// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 429 430s_atomic_swap_x2 s[10:11], s[2:3], s0 glc 431// GFX9: s_atomic_swap_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x81,0xc2,0x00,0x00,0x00,0x00] 432// GFX1012: s_atomic_swap_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x81,0xf6,0x00,0x00,0x00,0x00] 433// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 434 435s_atomic_umax s5, s[2:3], s0 glc 436// GFX9: s_atomic_umax s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x1d,0xc2,0x00,0x00,0x00,0x00] 437// GFX1012: s_atomic_umax s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x1d,0xf6,0x00,0x00,0x00,0x00] 438// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 439 440s_atomic_umax_x2 s[10:11], s[2:3], s101 441// GFX9: s_atomic_umax_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x9c,0xc2,0x65,0x00,0x00,0x00] 442// GFX1012: s_atomic_umax_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x9c,0xf6,0x00,0x00,0x00,0xca] 443// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 444 445s_atomic_umin s5, s[2:3], s101 446// GFX9: s_atomic_umin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xc2,0x65,0x00,0x00,0x00] 447// GFX1012: s_atomic_umin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xf6,0x00,0x00,0x00,0xca] 448// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 449 450s_atomic_umin_x2 s[10:11], s[2:3], s0 glc 451// GFX9: s_atomic_umin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x95,0xc2,0x00,0x00,0x00,0x00] 452// GFX1012: s_atomic_umin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x95,0xf6,0x00,0x00,0x00,0x00] 453// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 454 455s_atomic_xor s5, s[2:3], s101 456// GFX9: s_atomic_xor s5, s[2:3], s101 ; encoding: [0x41,0x01,0x28,0xc2,0x65,0x00,0x00,0x00] 457// GFX1012: s_atomic_xor s5, s[2:3], s101 ; encoding: [0x41,0x01,0x28,0xf6,0x00,0x00,0x00,0xca] 458// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 459 460s_atomic_xor_x2 s[10:11], s[2:3], s0 glc 461// GFX9: s_atomic_xor_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa9,0xc2,0x00,0x00,0x00,0x00] 462// GFX1012: s_atomic_xor_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa9,0xf6,0x00,0x00,0x00,0x00] 463// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 464 465//===----------------------------------------------------------------------===// 466// s_buffer_atomic instructions 467//===----------------------------------------------------------------------===// 468 469s_buffer_atomic_add s5, s[4:7], s101 470// GFX9: s_buffer_atomic_add s5, s[4:7], s101 ; encoding: [0x42,0x01,0x08,0xc1,0x65,0x00,0x00,0x00] 471// GFX1012: s_buffer_atomic_add s5, s[4:7], s101 ; encoding: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xca] 472// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 473 474s_buffer_atomic_add s5, s[4:7], 0x0 475// GFX9: s_buffer_atomic_add s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x0a,0xc1,0x00,0x00,0x00,0x00] 476// GFX1012: s_buffer_atomic_add s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xfa] 477// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 478 479s_buffer_atomic_add s5, s[4:7], s0 glc 480// GFX9: s_buffer_atomic_add s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x09,0xc1,0x00,0x00,0x00,0x00] 481// GFX1012: s_buffer_atomic_add s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x09,0xf5,0x00,0x00,0x00,0x00] 482// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 483 484s_buffer_atomic_add_x2 s[10:11], s[4:7], s0 485// GFX9: s_buffer_atomic_add_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x88,0xc1,0x00,0x00,0x00,0x00] 486// GFX1012: s_buffer_atomic_add_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x88,0xf5,0x00,0x00,0x00,0x00] 487// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 488 489s_buffer_atomic_and s101, s[4:7], s0 490// GFX9: s_buffer_atomic_and s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xc1,0x00,0x00,0x00,0x00] 491// GFX1012: s_buffer_atomic_and s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xf5,0x00,0x00,0x00,0x00] 492// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 493 494s_buffer_atomic_and_x2 s[10:11], s[8:11], s0 495// GFX9: s_buffer_atomic_and_x2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0xa0,0xc1,0x00,0x00,0x00,0x00] 496// GFX1012: s_buffer_atomic_and_x2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0xa0,0xf5,0x00,0x00,0x00,0x00] 497// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 498 499s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 500// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x04,0xc1,0x00,0x00,0x00,0x00] 501// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0x00] 502// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 503 504s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0 505// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x06,0xc1,0x00,0x00,0x00,0x00] 506// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0xfa] 507// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 508 509s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc 510// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x05,0xc1,0x00,0x00,0x00,0x00] 511// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x05,0xf5,0x00,0x00,0x00,0x00] 512// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 513 514s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 515// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x84,0xc1,0x65,0x00,0x00,0x00] 516// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xca] 517// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 518 519s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0 520// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x86,0xc1,0x00,0x00,0x00,0x00] 521// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xfa] 522// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 523 524s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc 525// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x85,0xc1,0x00,0x00,0x00,0x00] 526// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x85,0xf5,0x00,0x00,0x00,0x00] 527// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 528 529s_buffer_atomic_dec s5, s[4:7], s0 530// GFX9: s_buffer_atomic_dec s5, s[4:7], s0 ; encoding: [0x42,0x01,0x30,0xc1,0x00,0x00,0x00,0x00] 531// GFX1012: s_buffer_atomic_dec s5, s[4:7], s0 ; encoding: [0x42,0x01,0x30,0xf5,0x00,0x00,0x00,0x00] 532// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 533 534s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc 535// GFX9: s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xb1,0xc1,0x00,0x00,0x00,0x00] 536// GFX1012: s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xb1,0xf5,0x00,0x00,0x00,0x00] 537// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 538 539s_buffer_atomic_inc s101, s[4:7], s0 540// GFX9: s_buffer_atomic_inc s101, s[4:7], s0 ; encoding: [0x42,0x19,0x2c,0xc1,0x00,0x00,0x00,0x00] 541// GFX1012: s_buffer_atomic_inc s101, s[4:7], s0 ; encoding: [0x42,0x19,0x2c,0xf5,0x00,0x00,0x00,0x00] 542// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 543 544s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0 545// GFX9: s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0xae,0xc1,0x00,0x00,0x00,0x00] 546// GFX1012: s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0xac,0xf5,0x00,0x00,0x00,0xfa] 547// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 548 549s_buffer_atomic_or s5, s[8:11], s0 550// GFX9: s_buffer_atomic_or s5, s[8:11], s0 ; encoding: [0x44,0x01,0x24,0xc1,0x00,0x00,0x00,0x00] 551// GFX1012: s_buffer_atomic_or s5, s[8:11], s0 ; encoding: [0x44,0x01,0x24,0xf5,0x00,0x00,0x00,0x00] 552// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 553 554s_buffer_atomic_or_x2 s[10:11], s[96:99], s0 555// GFX9: s_buffer_atomic_or_x2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0xa4,0xc1,0x00,0x00,0x00,0x00] 556// GFX1012: s_buffer_atomic_or_x2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0xa4,0xf5,0x00,0x00,0x00,0x00] 557// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 558 559s_buffer_atomic_smax s5, s[4:7], s101 560// GFX9: s_buffer_atomic_smax s5, s[4:7], s101 ; encoding: [0x42,0x01,0x18,0xc1,0x65,0x00,0x00,0x00] 561// GFX1012: s_buffer_atomic_smax s5, s[4:7], s101 ; encoding: [0x42,0x01,0x18,0xf5,0x00,0x00,0x00,0xca] 562// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 563 564s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0 565// GFX9: s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x98,0xc1,0x00,0x00,0x00,0x00] 566// GFX1012: s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x98,0xf5,0x00,0x00,0x00,0x00] 567// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 568 569s_buffer_atomic_smin s5, s[4:7], 0x0 570// GFX9: s_buffer_atomic_smin s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x12,0xc1,0x00,0x00,0x00,0x00] 571// GFX1012: s_buffer_atomic_smin s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x10,0xf5,0x00,0x00,0x00,0xfa] 572// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 573 574s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0 575// GFX9: s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x90,0xc1,0x00,0x00,0x00,0x00] 576// GFX1012: s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x90,0xf5,0x00,0x00,0x00,0x00] 577// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 578 579s_buffer_atomic_sub s5, s[4:7], s0 glc 580// GFX9: s_buffer_atomic_sub s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x0d,0xc1,0x00,0x00,0x00,0x00] 581// GFX1012: s_buffer_atomic_sub s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x0d,0xf5,0x00,0x00,0x00,0x00] 582// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 583 584s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0 585// GFX9: s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x8c,0xc1,0x00,0x00,0x00,0x00] 586// GFX1012: s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x8c,0xf5,0x00,0x00,0x00,0x00] 587// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 588 589s_buffer_atomic_swap s5, s[4:7], s0 590// GFX9: s_buffer_atomic_swap s5, s[4:7], s0 ; encoding: [0x42,0x01,0x00,0xc1,0x00,0x00,0x00,0x00] 591// GFX1012: s_buffer_atomic_swap s5, s[4:7], s0 ; encoding: [0x42,0x01,0x00,0xf5,0x00,0x00,0x00,0x00] 592// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 593 594s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc 595// GFX9: s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x81,0xc1,0x00,0x00,0x00,0x00] 596// GFX1012: s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x81,0xf5,0x00,0x00,0x00,0x00] 597// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 598 599s_buffer_atomic_umax s5, s[4:7], s0 600// GFX9: s_buffer_atomic_umax s5, s[4:7], s0 ; encoding: [0x42,0x01,0x1c,0xc1,0x00,0x00,0x00,0x00] 601// GFX1012: s_buffer_atomic_umax s5, s[4:7], s0 ; encoding: [0x42,0x01,0x1c,0xf5,0x00,0x00,0x00,0x00] 602// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 603 604s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc 605// GFX9: s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x9d,0xc1,0x00,0x00,0x00,0x00] 606// GFX1012: s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x9d,0xf5,0x00,0x00,0x00,0x00] 607// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 608 609s_buffer_atomic_umin s5, s[4:7], s0 610// GFX9: s_buffer_atomic_umin s5, s[4:7], s0 ; encoding: [0x42,0x01,0x14,0xc1,0x00,0x00,0x00,0x00] 611// GFX1012: s_buffer_atomic_umin s5, s[4:7], s0 ; encoding: [0x42,0x01,0x14,0xf5,0x00,0x00,0x00,0x00] 612// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 613 614s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc 615// GFX9: s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x95,0xc1,0x00,0x00,0x00,0x00] 616// GFX1012: s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x95,0xf5,0x00,0x00,0x00,0x00] 617// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 618 619s_buffer_atomic_xor s5, s[4:7], s0 620// GFX9: s_buffer_atomic_xor s5, s[4:7], s0 ; encoding: [0x42,0x01,0x28,0xc1,0x00,0x00,0x00,0x00] 621// GFX1012: s_buffer_atomic_xor s5, s[4:7], s0 ; encoding: [0x42,0x01,0x28,0xf5,0x00,0x00,0x00,0x00] 622// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 623 624s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc 625// GFX9: s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xa9,0xc1,0x00,0x00,0x00,0x00] 626// GFX1012: s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xa9,0xf5,0x00,0x00,0x00,0x00] 627// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU 628 629//===----------------------------------------------------------------------===// 630// Unsigned 20-bit offsets (VI+) 631//===----------------------------------------------------------------------===// 632 633s_atc_probe 0x7, s[4:5], 0xFFFFF 634// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 635// GFX89: s_atc_probe 7, s[4:5], 0xfffff ; encoding: [0xc2,0x01,0x9a,0xc0,0xff,0xff,0x0f,0x00] 636// GFX10: s_atc_probe 7, s[4:5], 0xfffff ; encoding: [0xc2,0x01,0x98,0xf4,0xff,0xff,0x0f,0xfa] 637 638s_atc_probe_buffer 0x1, s[8:11], 0xFFFFF 639// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 640// GFX89: s_atc_probe_buffer 1, s[8:11], 0xfffff ; encoding: [0x44,0x00,0x9e,0xc0,0xff,0xff,0x0f,0x00] 641// GFX10: s_atc_probe_buffer 1, s[8:11], 0xfffff ; encoding: [0x44,0x00,0x9c,0xf4,0xff,0xff,0x0f,0xfa] 642 643s_store_dword s1, s[2:3], 0xFFFFF 644// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 645// GFX89: s_store_dword s1, s[2:3], 0xfffff ; encoding: [0x41,0x00,0x42,0xc0,0xff,0xff,0x0f,0x00] 646// GFX1012: s_store_dword s1, s[2:3], 0xfffff ; encoding: [0x41,0x00,0x40,0xf4,0xff,0xff,0x0f,0xfa] 647 648s_buffer_store_dword s10, s[92:95], 0xFFFFF 649// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 650// GFX89: s_buffer_store_dword s10, s[92:95], 0xfffff ; encoding: [0xae,0x02,0x62,0xc0,0xff,0xff,0x0f,0x00] 651// GFX1012: s_buffer_store_dword s10, s[92:95], 0xfffff ; encoding: [0xae,0x02,0x60,0xf4,0xff,0xff,0x0f,0xfa] 652 653s_atomic_swap s5, s[2:3], 0xFFFFF 654// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 655// GFX1012: s_atomic_swap s5, s[2:3], 0xfffff ; encoding: [0x41,0x01,0x00,0xf6,0xff,0xff,0x0f,0xfa] 656// GFX9: s_atomic_swap s5, s[2:3], 0xfffff ; encoding: [0x41,0x01,0x02,0xc2,0xff,0xff,0x0f,0x00] 657 658s_buffer_atomic_swap s5, s[4:7], 0xFFFFF 659// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 660// GFX1012: s_buffer_atomic_swap s5, s[4:7], 0xfffff ; encoding: [0x42,0x01,0x00,0xf5,0xff,0xff,0x0f,0xfa] 661// GFX9: s_buffer_atomic_swap s5, s[4:7], 0xfffff ; encoding: [0x42,0x01,0x02,0xc1,0xff,0xff,0x0f,0x00] 662 663s_atc_probe 0x7, s[4:5], 0x1FFFFF 664// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 665// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset 666// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 667 668s_atc_probe_buffer 0x1, s[8:11], 0x1FFFFF 669// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 670// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 671// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 672 673s_load_dword s1, s[2:3], s0 offset:0x1FFFFF 674// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand. 675// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand. 676// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 21-bit signed offset 677// NOGFX10: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 21-bit signed offset 678 679s_store_dword s1, s[2:3], 0x1FFFFF 680// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 681// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset 682// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 683 684s_buffer_load_dword s10, s[92:95], s0 offset:-1 685// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand. 686// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand. 687// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 688// NOGFX10: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 689 690s_buffer_store_dword s10, s[92:95], 0x1FFFFF 691// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 692// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 693// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 694 695s_atomic_swap s5, s[2:3], 0x1FFFFF 696// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 697// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset 698 699s_buffer_atomic_swap s5, s[4:7], 0x1FFFFF 700// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 701// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 702 703//===----------------------------------------------------------------------===// 704// Signed offsets (gfx9+) 705//===----------------------------------------------------------------------===// 706 707s_atc_probe 0x7, s[4:5], -1 708// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 709// GFX9: s_atc_probe 7, s[4:5], -0x1 ; encoding: [0xc2,0x01,0x9a,0xc0,0xff,0xff,0x1f,0x00] 710// GFX10: s_atc_probe 7, s[4:5], -0x1 ; encoding: [0xc2,0x01,0x98,0xf4,0xff,0xff,0x1f,0xfa] 711// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 712 713s_atc_probe_buffer 0x1, s[8:11], -1 714// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 715// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 716// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 717 718s_store_dword s1, s[2:3], -1 719// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 720// GFX9: s_store_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x42,0xc0,0xff,0xff,0x1f,0x00] 721// GFX1012: s_store_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x40,0xf4,0xff,0xff,0x1f,0xfa] 722// NOSICIGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 723 724s_buffer_store_dword s10, s[92:95], -1 725// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 726// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 727// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 728 729s_load_dword s1, s[2:3], -1 730// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 731// GFX9: s_load_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x02,0xc0,0xff,0xff,0x1f,0x00] 732// GFX10: s_load_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x00,0xf4,0xff,0xff,0x1f,0xfa] 733// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode 734 735s_buffer_load_dword s10, s[92:95], -1 736// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 737// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode 738// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 739 740s_atomic_swap s5, s[2:3], -1 741// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 742// GFX9: s_atomic_swap s5, s[2:3], -0x1 ; encoding: [0x41,0x01,0x02,0xc2,0xff,0xff,0x1f,0x00] 743// GFX1012: s_atomic_swap s5, s[2:3], -0x1 ; encoding: [0x41,0x01,0x00,0xf6,0xff,0xff,0x1f,0xfa] 744// NOSICIGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU 745 746s_buffer_atomic_swap s5, s[4:7], -1 747// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 748// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU 749// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 750 751s_atc_probe 0x7, s[4:5], 0xFFFFFFFFFFF00000 752// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 753// GFX10: s_atc_probe 7, s[4:5], -0x100000 ; encoding: [0xc2,0x01,0x98,0xf4,0x00,0x00,0x10,0xfa] 754// GFX9: s_atc_probe 7, s[4:5], -0x100000 ; encoding: [0xc2,0x01,0x9a,0xc0,0x00,0x00,0x10,0x00] 755// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 756 757s_atc_probe_buffer 0x1, s[8:11], 0xFFFFFFFFFFF00000 758// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 759// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 760// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 761 762s_store_dword s1, s[2:3], 0xFFFFFFFFFFF00000 763// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 764// GFX1012: s_store_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x40,0xf4,0x00,0x00,0x10,0xfa] 765// GFX9: s_store_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x42,0xc0,0x00,0x00,0x10,0x00] 766// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 767 768s_buffer_store_dword s10, s[92:95], 0xFFFFFFFFFFF00000 769// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 770// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 771// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 772 773s_load_dword s1, s[2:3], 0xFFFFFFFFFFF00000 774// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode 775// GFX10: s_load_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x00,0xf4,0x00,0x00,0x10,0xfa] 776// GFX9: s_load_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x02,0xc0,0x00,0x00,0x10,0x00] 777// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 778 779s_buffer_load_dword s10, s[92:95], 0xFFFFFFFFFFF00000 780// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode 781// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 782// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 783 784s_atomic_swap s5, s[2:3], 0xFFFFFFFFFFF00000 785// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 786// GFX1012: s_atomic_swap s5, s[2:3], -0x100000 ; encoding: [0x41,0x01,0x00,0xf6,0x00,0x00,0x10,0xfa] 787// GFX9: s_atomic_swap s5, s[2:3], -0x100000 ; encoding: [0x41,0x01,0x02,0xc2,0x00,0x00,0x10,0x00] 788 789s_buffer_atomic_swap s5, s[4:7], 0xFFFFFFFFFFF00000 790// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU 791// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset 792