1// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -show-encoding %s | FileCheck --check-prefixes=GFX10,W32 %s 2// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=GFX10-ERR,W32-ERR --implicit-check-not=error: %s 3 4flat_load_dword v1, v[3:4] 5// GFX10: encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x7d,0x01] 6 7flat_load_dword v1, v[3:4] offset:-1 8// GFX10-ERR: :28: error: expected an 11-bit unsigned offset 9 10flat_load_dword v1, v[3:4] offset:2047 11// GFX10: encoding: [0xff,0x07,0x30,0xdc,0x03,0x00,0x7d,0x01] 12 13flat_load_dword v1, v[3:4] offset:2048 14// GFX10-ERR: error: expected an 11-bit unsigned offset 15 16flat_load_dword v1, v[3:4] offset:4 glc 17// GFX10: encoding: [0x04,0x00,0x31,0xdc,0x03,0x00,0x7d,0x01] 18 19flat_load_dword v1, v[3:4] offset:4 glc slc 20// GFX10: encoding: [0x04,0x00,0x33,0xdc,0x03,0x00,0x7d,0x01] 21 22flat_load_dword v1, v[3:4] offset:4 glc slc dlc 23// GFX10: encoding: [0x04,0x10,0x33,0xdc,0x03,0x00,0x7d,0x01] 24 25flat_atomic_add v[3:4], v5 offset:8 slc 26// GFX10: encoding: [0x08,0x00,0xca,0xdc,0x03,0x05,0x7d,0x00] 27 28flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 29// GFX10: encoding: [0xff,0x07,0xc4,0xdc,0x01,0x03,0x7d,0x00] 30 31flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 slc 32// GFX10: encoding: [0xff,0x07,0xc6,0xdc,0x01,0x03,0x7d,0x00] 33 34flat_atomic_cmpswap v[1:2], v[3:4] 35// GFX10: encoding: [0x00,0x00,0xc4,0xdc,0x01,0x03,0x7d,0x00] 36 37flat_atomic_cmpswap v[1:2], v[3:4] slc 38// GFX10: encoding: [0x00,0x00,0xc6,0xdc,0x01,0x03,0x7d,0x00] 39 40flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 glc 41// GFX10-ERR: error: invalid operand for instruction 42 43flat_atomic_cmpswap v[1:2], v[3:4] glc 44// GFX10-ERR: error: invalid operand for instruction 45 46flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 glc 47// GFX10: encoding: [0xff,0x07,0xc5,0xdc,0x01,0x03,0x7d,0x00] 48 49flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 glc slc 50// GFX10: encoding: [0xff,0x07,0xc7,0xdc,0x01,0x03,0x7d,0x00] 51 52flat_atomic_cmpswap v0, v[1:2], v[3:4] glc 53// GFX10: encoding: [0x00,0x00,0xc5,0xdc,0x01,0x03,0x7d,0x00] 54 55flat_atomic_cmpswap v0, v[1:2], v[3:4] glc slc 56// GFX10: encoding: [0x00,0x00,0xc7,0xdc,0x01,0x03,0x7d,0x00] 57 58flat_atomic_cmpswap v0, v[1:2], v[3:4] glc 59// GFX10: encoding: [0x00,0x00,0xc5,0xdc,0x01,0x03,0x7d,0x00] 60 61flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 62// GFX10-ERR: error: instruction must use glc 63 64flat_atomic_cmpswap v0, v[1:2], v[3:4] slc 65// GFX10-ERR: error: instruction must use glc 66 67flat_atomic_swap v[3:4], v5 offset:16 68// GFX10: encoding: [0x10,0x00,0xc0,0xdc,0x03,0x05,0x7d,0x00] 69 70flat_store_dword v[3:4], v1 offset:16 71// GFX10: encoding: [0x10,0x00,0x70,0xdc,0x03,0x01,0x7d,0x00] 72 73flat_store_dword v[3:4], v1, off 74// GFX10-ERR: error: invalid operand for instruction 75 76flat_store_dword v[3:4], v1, s[0:1] 77// GFX10-ERR: error: invalid operand for instruction 78 79flat_store_dword v[3:4], v1, s0 80// GFX10-ERR: error: invalid operand for instruction 81 82flat_load_dword v1, v[3:4], off 83// GFX10-ERR: error: invalid operand for instruction 84 85flat_load_dword v1, v[3:4], s[0:1] 86// GFX10-ERR: error: invalid operand for instruction 87 88flat_load_dword v1, v[3:4], s0 89// GFX10-ERR: error: invalid operand for instruction 90 91flat_load_dword v1, v[3:4], exec_hi 92// GFX10-ERR: error: invalid operand for instruction 93 94flat_store_dword v[3:4], v1, exec_hi 95// GFX10-ERR: error: invalid operand for instruction 96 97flat_load_ubyte_d16 v1, v[3:4] 98// GFX10: encoding: [0x00,0x00,0x80,0xdc,0x03,0x00,0x7d,0x01] 99 100flat_load_ubyte_d16_hi v1, v[3:4] 101// GFX10: encoding: [0x00,0x00,0x84,0xdc,0x03,0x00,0x7d,0x01] 102 103flat_load_sbyte_d16 v1, v[3:4] 104// GFX10: encoding: [0x00,0x00,0x88,0xdc,0x03,0x00,0x7d,0x01] 105 106flat_load_sbyte_d16_hi v1, v[3:4] 107// GFX10: encoding: [0x00,0x00,0x8c,0xdc,0x03,0x00,0x7d,0x01] 108 109flat_load_short_d16 v1, v[3:4] 110// GFX10: encoding: [0x00,0x00,0x90,0xdc,0x03,0x00,0x7d,0x01] 111 112flat_load_short_d16_hi v1, v[3:4] 113// GFX10: encoding: [0x00,0x00,0x94,0xdc,0x03,0x00,0x7d,0x01] 114 115flat_store_byte_d16_hi v[3:4], v1 116// GFX10: encoding: [0x00,0x00,0x64,0xdc,0x03,0x01,0x7d,0x00] 117 118flat_store_short_d16_hi v[3:4], v1 119// GFX10: encoding: [0x00,0x00,0x6c,0xdc,0x03,0x01,0x7d,0x00] 120