Home | History | Annotate | Download | only in AMDGPU
      1 // RUN: llvm-mc -arch=amdgcn -mcpu=bonaire -show-encoding %s | FileCheck %s --check-prefix=CIVI --check-prefix=CI
      2 // RUN: llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=CIVI
      3 
      4 // FIXME: These instructions give an 'invalid operand' error on SI and should
      5 // instead be reporting an 'instruction not supported' error.
      6 
      7 // XUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck %s --check-prefix=NOVI
      8 // XUN: not llvm-mc -arch=amdgcn -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI
      9 // XUN: not llvm-mc -arch=amdgcn -mcpu=SI -show-encoding %s 2>&1 | FileCheck %s --check-prefix=NOSI
     10 
     11 //===----------------------------------------------------------------------===//
     12 // Operands
     13 //===----------------------------------------------------------------------===//
     14 
     15 flat_load_dword v1, v[3:4]
     16 // NOSI: error: instruction not supported on this GPU
     17 // CIVI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x00,0x01]
     18 
     19 flat_load_dword v1, v[3:4] glc
     20 // NOSI: error: instruction not supported on this GPU
     21 // CIVI: flat_load_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x31,0xdc,0x03,0x00,0x00,0x01]
     22 
     23 flat_load_dword v1, v[3:4] glc slc
     24 // NOSI: error: instruction not supported on this GPU
     25 // CIVI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x00,0x01]
     26 
     27 flat_load_dword v1, v[3:4] glc tfe
     28 // NOSI: error: instruction not supported on this GPU
     29 // CIVI: flat_load_dword v1, v[3:4] glc tfe ; encoding: [0x00,0x00,0x31,0xdc,0x03,0x00,0x80,0x01]
     30 
     31 flat_load_dword v1, v[3:4] glc slc tfe
     32 // NOSI: error: instruction not supported on this GPU
     33 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     34 
     35 flat_load_dword v1, v[3:4] glc tfe slc
     36 // NOSI: error: instruction not supported on this GPU
     37 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     38 
     39 flat_load_dword v1, v[3:4] slc
     40 // NOSI: error: instruction not supported on this GPU
     41 // CIVI: flat_load_dword v1, v[3:4] slc ; encoding: [0x00,0x00,0x32,0xdc,0x03,0x00,0x00,0x01]
     42 
     43 flat_load_dword v1, v[3:4] slc glc
     44 // NOSI: error: instruction not supported on this GPU
     45 // CIVI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x00,0x01]
     46 
     47 flat_load_dword v1, v[3:4] slc tfe
     48 // NOSI: error: instruction not supported on this GPU
     49 // CIVI: flat_load_dword v1, v[3:4] slc tfe ; encoding: [0x00,0x00,0x32,0xdc,0x03,0x00,0x80,0x01]
     50 
     51 flat_load_dword v1, v[3:4] slc glc tfe
     52 // NOSI: error: instruction not supported on this GPU
     53 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     54 
     55 flat_load_dword v1, v[3:4] slc tfe glc
     56 // NOSI: error: instruction not supported on this GPU
     57 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     58 
     59 flat_load_dword v1, v[3:4] tfe
     60 // NOSI: error: instruction not supported on this GPU
     61 // CIVI: flat_load_dword v1, v[3:4] tfe ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x80,0x01]
     62 
     63 flat_load_dword v1, v[3:4] tfe glc
     64 // NOSI: error: instruction not supported on this GPU
     65 // CIVI: flat_load_dword v1, v[3:4] glc tfe ; encoding: [0x00,0x00,0x31,0xdc,0x03,0x00,0x80,0x01]
     66 
     67 flat_load_dword v1, v[3:4] tfe slc
     68 // NOSI: error: instruction not supported on this GPU
     69 // CIVI: flat_load_dword v1, v[3:4] slc tfe ; encoding: [0x00,0x00,0x32,0xdc,0x03,0x00,0x80,0x01]
     70 
     71 flat_load_dword v1, v[3:4] tfe glc slc
     72 // NOSI: error: instruction not supported on this GPU
     73 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     74 
     75 flat_load_dword v1, v[3:4] tfe slc glc
     76 // NOSI: error: instruction not supported on this GPU
     77 // CIVI: flat_load_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x80,0x01]
     78 
     79 flat_store_dword v1, v[3:4]
     80 // NOSI: error: instruction not supported on this GPU
     81 // CIVI: flat_store_dword v1, v[3:4] ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
     82 
     83 flat_store_dword v1, v[3:4] glc
     84 // NOSI: error: instruction not supported on this GPU
     85 // CIVI: flat_store_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x71,0xdc,0x03,0x01,0x00,0x00]
     86 
     87 flat_store_dword v1, v[3:4] glc slc
     88 // NOSI: error: instruction not supported on this GPU
     89 // CIVI: flat_store_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x00,0x00]
     90 
     91 flat_store_dword v1, v[3:4] glc tfe
     92 // NOSI: error: instruction not supported on this GPU
     93 // CIVI: flat_store_dword v1, v[3:4] glc tfe ; encoding: [0x00,0x00,0x71,0xdc,0x03,0x01,0x80,0x00]
     94 
     95 flat_store_dword v1, v[3:4] glc slc tfe
     96 // NOSI: error: instruction not supported on this GPU
     97 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
     98 
     99 flat_store_dword v1, v[3:4] glc tfe slc
    100 // NOSI: error: instruction not supported on this GPU
    101 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
    102 
    103 flat_store_dword v1, v[3:4] slc
    104 // NOSI: error: instruction not supported on this GPU
    105 // CIVI: flat_store_dword v1, v[3:4] slc ; encoding: [0x00,0x00,0x72,0xdc,0x03,0x01,0x00,0x00]
    106 
    107 flat_store_dword v1, v[3:4] slc glc
    108 // NOSI: error: instruction not supported on this GPU
    109 // CIVI: flat_store_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x00,0x00]
    110 
    111 flat_store_dword v1, v[3:4] slc tfe
    112 // NOSI: error: instruction not supported on this GPU
    113 // CIVI: flat_store_dword v1, v[3:4] slc tfe ; encoding: [0x00,0x00,0x72,0xdc,0x03,0x01,0x80,0x00]
    114 
    115 flat_store_dword v1, v[3:4] slc glc tfe
    116 // NOSI: error: instruction not supported on this GPU
    117 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
    118 
    119 flat_store_dword v1, v[3:4] slc tfe glc
    120 // NOSI: error: instruction not supported on this GPU
    121 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
    122 
    123 flat_store_dword v1, v[3:4] tfe
    124 // NOSI: error: instruction not supported on this GPU
    125 // CIVI: flat_store_dword v1, v[3:4] tfe ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x80,0x00]
    126 
    127 flat_store_dword v1, v[3:4] tfe glc
    128 // NOSI: error: instruction not supported on this GPU
    129 // CIVI: flat_store_dword v1, v[3:4] glc tfe ; encoding: [0x00,0x00,0x71,0xdc,0x03,0x01,0x80,0x00]
    130 
    131 flat_store_dword v1, v[3:4] tfe slc
    132 // NOSI: error: instruction not supported on this GPU
    133 // CIVI: flat_store_dword v1, v[3:4] slc tfe ; encoding: [0x00,0x00,0x72,0xdc,0x03,0x01,0x80,0x00]
    134 
    135 flat_store_dword v1, v[3:4] tfe glc slc
    136 // NOSI: error: instruction not supported on this GPU
    137 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
    138 
    139 flat_store_dword v1, v[3:4] tfe slc glc
    140 // NOSI: error: instruction not supported on this GPU
    141 // CIVI: flat_store_dword v1, v[3:4] glc slc tfe ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x80,0x00]
    142 
    143 // FIXME: For atomic instructions, glc must be placed immediately following
    144 // the data regiser.  These forms aren't currently supported:
    145 // flat_atomic_add v1, v[3:4], v5 slc glc
    146 // flat_atomic_add v1, v[3:4], v5 slc glc tfe
    147 // flat_atomic_add v1, v[3:4], v5 slc tfe glc
    148 // flat_atomic_add v1, v[3:4], v5 tfe glc
    149 // flat_atomic_add v[3:4], v5 tfe glc
    150 // flat_atomic_add v1, v[3:4], v5 tfe glc slc
    151 // flat_atomic_add v1, v[3:4], v5 tfe slc glc
    152 
    153 flat_atomic_add v1 v[3:4], v5 glc slc
    154 // NOSI: error: instruction not supported on this GPU
    155 // CIVI: flat_atomic_add v1, v[3:4], v5 glc slc ; encoding: [0x00,0x00,0xcb,0xdc,0x03,0x05,0x00,0x01]
    156 
    157 flat_atomic_add v1 v[3:4], v5 glc tfe
    158 // NOSI: error: instruction not supported on this GPU
    159 // CIVI: flat_atomic_add v1, v[3:4], v5 glc tfe ; encoding: [0x00,0x00,0xc9,0xdc,0x03,0x05,0x80,0x01]
    160 
    161 flat_atomic_add v1 v[3:4], v5 glc slc tfe
    162 // NOSI: error: instruction not supported on this GPU
    163 // CIVI: flat_atomic_add v1, v[3:4], v5 glc slc tfe ; encoding: [0x00,0x00,0xcb,0xdc,0x03,0x05,0x80,0x01]
    164 
    165 flat_atomic_add v1 v[3:4], v5 glc tfe slc
    166 // NOSI: error: instruction not supported on this GPU
    167 // CIVI: flat_atomic_add v1, v[3:4], v5 glc slc tfe ; encoding: [0x00,0x00,0xcb,0xdc,0x03,0x05,0x80,0x01]
    168 
    169 flat_atomic_add v[3:4], v5 slc
    170 // NOSI: error: instruction not supported on this GPU
    171 // CIVI: flat_atomic_add v[3:4], v5 slc ; encoding: [0x00,0x00,0xca,0xdc,0x03,0x05,0x00,0x00]
    172 
    173 flat_atomic_add v[3:4], v5 slc tfe
    174 // NOSI: error: instruction not supported on this GPU
    175 // CIVI: flat_atomic_add v[3:4], v5 slc tfe ; encoding: [0x00,0x00,0xca,0xdc,0x03,0x05,0x80,0x00]
    176 
    177 flat_atomic_add v[3:4], v5 tfe
    178 // NOSI: error: instruction not supported on this GPU
    179 // CIVI: flat_atomic_add v[3:4], v5 tfe ; encoding: [0x00,0x00,0xc8,0xdc,0x03,0x05,0x80,0x00]
    180 
    181 //===----------------------------------------------------------------------===//
    182 // Instructions
    183 //===----------------------------------------------------------------------===//
    184 
    185 flat_load_ubyte v1, v[3:4]
    186 // NOSI: error: instruction not supported on this GPU
    187 // CIVI: flat_load_ubyte v1, v[3:4] ; encoding: [0x00,0x00,0x20,0xdc,0x03,0x00,0x00,0x01]
    188 
    189 flat_load_sbyte v1, v[3:4]
    190 // NOSI: error: instruction not supported on this GPU
    191 // CIVI: flat_load_sbyte v1, v[3:4] ; encoding: [0x00,0x00,0x24,0xdc,0x03,0x00,0x00,0x01]
    192 
    193 flat_load_ushort v1, v[3:4]
    194 // NOSI: error: instruction not supported on this GPU
    195 // CIVI: flat_load_ushort v1, v[3:4] ; encoding: [0x00,0x00,0x28,0xdc,0x03,0x00,0x00,0x01]
    196 
    197 flat_load_sshort v1, v[3:4]
    198 // NOSI: error: instruction not supported on this GPU
    199 // CIVI: flat_load_sshort v1, v[3:4] ; encoding: [0x00,0x00,0x2c,0xdc,0x03,0x00,0x00,0x01]
    200 
    201 flat_load_dword v1, v[3:4]
    202 // NOSI: error: instruction not supported on this GPU
    203 // CIVI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x00,0x01]
    204 
    205 flat_load_dwordx2 v[1:2], v[3:4]
    206 // NOSI: error: instruction not supported on this GPU
    207 // CIVI: flat_load_dwordx2 v[1:2], v[3:4] ; encoding: [0x00,0x00,0x34,0xdc,0x03,0x00,0x00,0x01]
    208 
    209 flat_load_dwordx4 v[5:8], v[3:4]
    210 // NOSI: error: instruction not supported on this GPU
    211 // CIVI: flat_load_dwordx4 v[5:8], v[3:4] ; encoding: [0x00,0x00,0x38,0xdc,0x03,0x00,0x00,0x05]
    212 
    213 flat_load_dwordx3 v[5:7], v[3:4]
    214 // NOSI: error: instruction not supported on this GPU
    215 // CIVI: flat_load_dwordx3 v[5:7], v[3:4] ; encoding: [0x00,0x00,0x3c,0xdc,0x03,0x00,0x00,0x05]
    216 
    217 flat_store_byte v1, v[3:4]
    218 // NOSI: error: instruction not supported on this GPU
    219 // CIVI: flat_store_byte v1, v[3:4] ; encoding: [0x00,0x00,0x60,0xdc,0x03,0x01,0x00,0x00]
    220 
    221 flat_store_short v1, v[3:4]
    222 // NOSI: error: instruction not supported on this GPU
    223 // CIVI: flat_store_short v1, v[3:4] ; encoding: [0x00,0x00,0x68,0xdc,0x03,0x01,0x00,0x00]
    224 
    225 flat_store_dword v1, v[3:4]
    226 // NOSI: error: instruction not supported on this GPU
    227 // CIVI: flat_store_dword v1, v[3:4] ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
    228 
    229 flat_store_dwordx2 v[1:2], v[3:4]
    230 // NOSI: error: instruction not supported on this GPU
    231 // CIVI: flat_store_dwordx2 v[1:2], v[3:4] ; encoding: [0x00,0x00,0x74,0xdc,0x03,0x01,0x00,0x00]
    232 
    233 flat_store_dwordx4 v[5:8], v[3:4]
    234 // NOSI: error: instruction not supported on this GPU
    235 // CIVI: flat_store_dwordx4 v[5:8], v[3:4] ; encoding: [0x00,0x00,0x78,0xdc,0x03,0x05,0x00,0x00]
    236 
    237 flat_store_dwordx3 v[5:7], v[3:4]
    238 // NOSI: error: instruction not supported on this GPU
    239 // CIVI: flat_store_dwordx3 v[5:7], v[3:4] ; encoding: [0x00,0x00,0x7c,0xdc,0x03,0x05,0x00,0x00]
    240 
    241 flat_atomic_swap v[3:4], v5
    242 // NOSI: error: instruction not supported on this GPU
    243 // CIVI: flat_atomic_swap v[3:4], v5 ; encoding: [0x00,0x00,0xc0,0xdc,0x03,0x05,0x00,0x00]
    244 
    245 flat_atomic_swap v1, v[3:4], v5 glc
    246 // NOSI: error: instruction not supported on this GPU
    247 // CIVI: flat_atomic_swap v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xc1,0xdc,0x03,0x05,0x00,0x01]
    248 
    249 flat_atomic_cmpswap v[3:4], v[5:6]
    250 // NOSI: error: instruction not supported on this GPU
    251 // CIVI: flat_atomic_cmpswap v[3:4], v[5:6] ; encoding: [0x00,0x00,0xc4,0xdc,0x03,0x05,0x00,0x00]
    252 
    253 flat_atomic_cmpswap v1, v[3:4], v[5:6] glc
    254 // NOSI: error: instruction not supported on this GPU
    255 // CIVI: flat_atomic_cmpswap v1, v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xc5,0xdc,0x03,0x05,0x00,0x01]
    256 
    257 flat_atomic_add v[3:4], v5
    258 // NOSI: error: instruction not supported on this GPU
    259 // CIVI: flat_atomic_add v[3:4], v5 ; encoding: [0x00,0x00,0xc8,0xdc,0x03,0x05,0x00,0x00]
    260 
    261 flat_atomic_add v1, v[3:4], v5 glc
    262 // NOSI: error: instruction not supported on this GPU
    263 // CIVI: flat_atomic_add v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xc9,0xdc,0x03,0x05,0x00,0x01]
    264 
    265 flat_atomic_sub v[3:4], v5
    266 // NOSI: error: instruction not supported on this GPU
    267 // CIVI: flat_atomic_sub v[3:4], v5 ; encoding: [0x00,0x00,0xcc,0xdc,0x03,0x05,0x00,0x00]
    268 
    269 flat_atomic_sub v1, v[3:4], v5 glc
    270 // NOSI: error: instruction not supported on this GPU
    271 // CIVI: flat_atomic_sub v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xcd,0xdc,0x03,0x05,0x00,0x01]
    272 
    273 flat_atomic_smin v[3:4], v5
    274 // NOSI: error: instruction not supported on this GPU
    275 // CIVI: flat_atomic_smin v[3:4], v5 ; encoding: [0x00,0x00,0xd4,0xdc,0x03,0x05,0x00,0x00]
    276 
    277 flat_atomic_smin v1, v[3:4], v5 glc
    278 // NOSI: error: instruction not supported on this GPU
    279 // CIVI: flat_atomic_smin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xd5,0xdc,0x03,0x05,0x00,0x01]
    280 
    281 flat_atomic_umin v[3:4], v5
    282 // NOSI: error: instruction not supported on this GPU
    283 // CIVI: flat_atomic_umin v[3:4], v5 ; encoding: [0x00,0x00,0xd8,0xdc,0x03,0x05,0x00,0x00]
    284 
    285 flat_atomic_umin v1, v[3:4], v5 glc
    286 // NOSI: error: instruction not supported on this GPU
    287 // CIVI: flat_atomic_umin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xd9,0xdc,0x03,0x05,0x00,0x01]
    288 
    289 flat_atomic_smax v[3:4], v5
    290 // NOSI: error: instruction not supported on this GPU
    291 // CIVI: flat_atomic_smax v[3:4], v5 ; encoding: [0x00,0x00,0xdc,0xdc,0x03,0x05,0x00,0x00]
    292 
    293 flat_atomic_smax v1, v[3:4], v5 glc
    294 // NOSI: error: instruction not supported on this GPU
    295 // CIVI: flat_atomic_smax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xdd,0xdc,0x03,0x05,0x00,0x01]
    296 
    297 flat_atomic_umax v[3:4], v5
    298 // NOSI: error: instruction not supported on this GPU
    299 // CIVI: flat_atomic_umax v[3:4], v5 ; encoding: [0x00,0x00,0xe0,0xdc,0x03,0x05,0x00,0x00]
    300 
    301 flat_atomic_umax v1, v[3:4], v5 glc
    302 // NOSI: error: instruction not supported on this GPU
    303 // CIVI: flat_atomic_umax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe1,0xdc,0x03,0x05,0x00,0x01]
    304 
    305 flat_atomic_and v[3:4], v5
    306 // NOSI: error: instruction not supported on this GPU
    307 // CIVI: flat_atomic_and v[3:4], v5 ; encoding: [0x00,0x00,0xe4,0xdc,0x03,0x05,0x00,0x00]
    308 
    309 flat_atomic_and v1, v[3:4], v5 glc
    310 // NOSI: error: instruction not supported on this GPU
    311 // CIVI: flat_atomic_and v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe5,0xdc,0x03,0x05,0x00,0x01]
    312 
    313 flat_atomic_or v[3:4], v5
    314 // NOSI: error: instruction not supported on this GPU
    315 // CIVI: flat_atomic_or v[3:4], v5 ; encoding: [0x00,0x00,0xe8,0xdc,0x03,0x05,0x00,0x00]
    316 
    317 flat_atomic_or v1, v[3:4], v5 glc
    318 // NOSI: error: instruction not supported on this GPU
    319 // CIVI: flat_atomic_or v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe9,0xdc,0x03,0x05,0x00,0x01]
    320 
    321 flat_atomic_xor v[3:4], v5
    322 // NOSI: error: instruction not supported on this GPU
    323 // CIVI: flat_atomic_xor v[3:4], v5 ; encoding: [0x00,0x00,0xec,0xdc,0x03,0x05,0x00,0x00]
    324 
    325 flat_atomic_xor v1, v[3:4], v5 glc
    326 // NOSI: error: instruction not supported on this GPU
    327 // CIVI: flat_atomic_xor v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xed,0xdc,0x03,0x05,0x00,0x01]
    328 
    329 flat_atomic_inc v[3:4], v5
    330 // NOSI: error: instruction not supported on this GPU
    331 // CIVI: flat_atomic_inc v[3:4], v5 ; encoding: [0x00,0x00,0xf0,0xdc,0x03,0x05,0x00,0x00]
    332 
    333 flat_atomic_inc v1, v[3:4], v5 glc
    334 // NOSI: error: instruction not supported on this GPU
    335 // CIVI: flat_atomic_inc v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xf1,0xdc,0x03,0x05,0x00,0x01]
    336 
    337 flat_atomic_dec v[3:4], v5
    338 // NOSI: error: instruction not supported on this GPU
    339 // CIVI: flat_atomic_dec v[3:4], v5 ; encoding: [0x00,0x00,0xf4,0xdc,0x03,0x05,0x00,0x00]
    340 
    341 flat_atomic_dec v1, v[3:4], v5 glc
    342 // NOSI: error: instruction not supported on this GPU
    343 // CIVI: flat_atomic_dec v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xf5,0xdc,0x03,0x05,0x00,0x01]
    344 
    345 flat_atomic_swap_x2 v[3:4], v[5:6]
    346 // NOSI: error: instruction not supported on this GPU
    347 // CIVI: flat_atomic_swap_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x40,0xdd,0x03,0x05,0x00,0x00]
    348 
    349 flat_atomic_swap_x2 v[1:2], v[3:4], v[5:6] glc
    350 // NOSI: error: instruction not supported on this GPU
    351 // CIVI: flat_atomic_swap_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x41,0xdd,0x03,0x05,0x00,0x01]
    352 
    353 flat_atomic_cmpswap_x2 v[3:4], v[5:8]
    354 // NOSI: error: instruction not supported on this GPU
    355 // CIVI: flat_atomic_cmpswap_x2 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x44,0xdd,0x03,0x05,0x00,0x00]
    356 
    357 flat_atomic_cmpswap_x2 v[1:2], v[3:4], v[5:8] glc
    358 // NOSI: error: instruction not supported on this GPU
    359 // CIVI: flat_atomic_cmpswap_x2 v[1:2], v[3:4], v[5:8] glc ; encoding: [0x00,0x00,0x45,0xdd,0x03,0x05,0x00,0x01]
    360 
    361 flat_atomic_add_x2 v[3:4], v[5:6]
    362 // NOSI: error: instruction not supported on this GPU
    363 // CIVI: flat_atomic_add_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x48,0xdd,0x03,0x05,0x00,0x00]
    364 
    365 flat_atomic_add_x2 v[1:2], v[3:4], v[5:6] glc
    366 // NOSI: error: instruction not supported on this GPU
    367 // CIVI: flat_atomic_add_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x49,0xdd,0x03,0x05,0x00,0x01]
    368 
    369 flat_atomic_sub_x2 v[3:4], v[5:6]
    370 // NOSI: error: instruction not supported on this GPU
    371 // CIVI: flat_atomic_sub_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x4c,0xdd,0x03,0x05,0x00,0x00]
    372 
    373 flat_atomic_sub_x2 v[1:2], v[3:4], v[5:6] glc
    374 // NOSI: error: instruction not supported on this GPU
    375 // CIVI: flat_atomic_sub_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x4d,0xdd,0x03,0x05,0x00,0x01]
    376 
    377 flat_atomic_smin_x2 v[3:4], v[5:6]
    378 // NOSI: error: instruction not supported on this GPU
    379 // CIVI: flat_atomic_smin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x54,0xdd,0x03,0x05,0x00,0x00]
    380 
    381 flat_atomic_smin_x2 v[1:2], v[3:4], v[5:6] glc
    382 // NOSI: error: instruction not supported on this GPU
    383 // CIVI: flat_atomic_smin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x55,0xdd,0x03,0x05,0x00,0x01]
    384 
    385 flat_atomic_umin_x2 v[3:4], v[5:6]
    386 // NOSI: error: instruction not supported on this GPU
    387 // CIVI: flat_atomic_umin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x58,0xdd,0x03,0x05,0x00,0x00]
    388 
    389 flat_atomic_umin_x2 v[1:2], v[3:4], v[5:6] glc
    390 // NOSI: error: instruction not supported on this GPU
    391 // CIVI: flat_atomic_umin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x59,0xdd,0x03,0x05,0x00,0x01]
    392 
    393 flat_atomic_smax_x2 v[3:4], v[5:6]
    394 // NOSI: error: instruction not supported on this GPU
    395 // CIVI: flat_atomic_smax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x5c,0xdd,0x03,0x05,0x00,0x00]
    396 
    397 flat_atomic_smax_x2 v[1:2], v[3:4], v[5:6] glc
    398 // NOSI: error: instruction not supported on this GPU
    399 // CIVI: flat_atomic_smax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x5d,0xdd,0x03,0x05,0x00,0x01]
    400 
    401 flat_atomic_umax_x2 v[3:4], v[5:6]
    402 // NOSI: error: instruction not supported on this GPU
    403 // CIVI: flat_atomic_umax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x60,0xdd,0x03,0x05,0x00,0x00]
    404 
    405 flat_atomic_umax_x2 v[1:2], v[3:4], v[5:6] glc
    406 // NOSI: error: instruction not supported on this GPU
    407 // CIVI: flat_atomic_umax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x61,0xdd,0x03,0x05,0x00,0x01]
    408 
    409 flat_atomic_and_x2 v[3:4], v[5:6]
    410 // NOSI: error: instruction not supported on this GPU
    411 // CIVI: flat_atomic_and_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x64,0xdd,0x03,0x05,0x00,0x00]
    412 
    413 flat_atomic_and_x2 v[1:2], v[3:4], v[5:6] glc
    414 // NOSI: error: instruction not supported on this GPU
    415 // CIVI: flat_atomic_and_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x65,0xdd,0x03,0x05,0x00,0x01]
    416 
    417 flat_atomic_or_x2 v[3:4], v[5:6]
    418 // NOSI: error: instruction not supported on this GPU
    419 // CIVI: flat_atomic_or_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x68,0xdd,0x03,0x05,0x00,0x00]
    420 
    421 flat_atomic_or_x2 v[1:2], v[3:4], v[5:6] glc
    422 // NOSI: error: instruction not supported on this GPU
    423 // CIVI: flat_atomic_or_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x69,0xdd,0x03,0x05,0x00,0x01]
    424 
    425 flat_atomic_xor_x2 v[3:4], v[5:6]
    426 // NOSI: error: instruction not supported on this GPU
    427 // CIVI: flat_atomic_xor_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x6c,0xdd,0x03,0x05,0x00,0x00]
    428 
    429 flat_atomic_xor_x2 v[1:2], v[3:4], v[5:6] glc
    430 // NOSI: error: instruction not supported on this GPU
    431 // CIVI: flat_atomic_xor_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x6d,0xdd,0x03,0x05,0x00,0x01]
    432 
    433 flat_atomic_inc_x2 v[3:4], v[5:6]
    434 // NOSI: error: instruction not supported on this GPU
    435 // CIVI: flat_atomic_inc_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x70,0xdd,0x03,0x05,0x00,0x00]
    436 
    437 flat_atomic_inc_x2 v[1:2], v[3:4], v[5:6] glc
    438 // NOSI: error: instruction not supported on this GPU
    439 // CIVI: flat_atomic_inc_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x71,0xdd,0x03,0x05,0x00,0x01]
    440 
    441 flat_atomic_dec_x2 v[3:4], v[5:6]
    442 // NOSI: error: instruction not supported on this GPU
    443 // CIVI: flat_atomic_dec_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x74,0xdd,0x03,0x05,0x00,0x00]
    444 
    445 flat_atomic_dec_x2 v[1:2], v[3:4], v[5:6] glc
    446 // NOSI: error: instruction not supported on this GPU
    447 // CIVI: flat_atomic_dec_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x75,0xdd,0x03,0x05,0x00,0x01]
    448 
    449 flat_atomic_fcmpswap_x2 v[3:4], v[5:8]
    450 // NOSI: error: instruction not supported on this GPU
    451 // CI: flat_atomic_fcmpswap_x2 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x78,0xdd,0x03,0x05,0x00,0x00]
    452 // NOVI: error: instruction not supported on this GPU
    453 
    454 flat_atomic_fcmpswap_x2 v[1:2], v[3:4], v[5:8] glc
    455 // NOSI: error: instruction not supported on this GPU
    456 // CI: flat_atomic_fcmpswap_x2 v[1:2], v[3:4], v[5:8] glc ; encoding: [0x00,0x00,0x79,0xdd,0x03,0x05,0x00,0x01]
    457 // NOVI: error: instruction not supported on this GPU
    458 
    459 flat_atomic_fmin_x2 v[3:4], v[5:6]
    460 // NOSI: error: instruction not supported on this GPU
    461 // CI: flat_atomic_fmin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x7c,0xdd,0x03,0x05,0x00,0x00]
    462 // NOVI: error: instruction not supported on this GPU
    463 
    464 flat_atomic_fmin_x2 v[1:2], v[3:4], v[5:6] glc
    465 // NOSI: error: instruction not supported on this GPU
    466 // CI: flat_atomic_fmin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x7d,0xdd,0x03,0x05,0x00,0x01]
    467 // NOVI: error: instruction not supported on this GPU
    468 
    469 flat_atomic_fmax_x2 v[3:4], v[5:6]
    470 // NOSI: error: instruction not supported on this GPU
    471 // CI: flat_atomic_fmax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x80,0xdd,0x03,0x05,0x00,0x00]
    472 // NOVI: error: instruction not supported on this GPU
    473 
    474 flat_atomic_fmax_x2 v[1:2], v[3:4], v[5:6] glc
    475 // NOSI: error: instruction not supported on this GPU
    476 // CI: flat_atomic_fmax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x81,0xdd,0x03,0x05,0x00,0x01]
    477 // NOVI: error: instruction not supported on this GPU
    478