1// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding %s | FileCheck --check-prefix=GFX908 %s 2// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx908 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX908-ERR %s 3 4buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 5// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x03] 6 7buffer_atomic_add_f32 v255, off, s[8:11], s3 offset:4095 8// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0xff,0x02,0x03] 9 10buffer_atomic_add_f32 v5, off, s[12:15], s3 offset:4095 11// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x03,0x03] 12 13buffer_atomic_add_f32 v5, off, s[96:99], s3 offset:4095 14// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x18,0x03] 15 16buffer_atomic_add_f32 v5, off, s[8:11], s101 offset:4095 17// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x65] 18 19buffer_atomic_add_f32 v5, off, s[8:11], m0 offset:4095 20// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x7c] 21 22buffer_atomic_add_f32 v5, off, s[8:11], 0 offset:4095 23// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0x80] 24 25buffer_atomic_add_f32 v5, off, s[8:11], -1 offset:4095 26// GFX908: encoding: [0xff,0x0f,0x34,0xe1,0x00,0x05,0x02,0xc1] 27 28buffer_atomic_add_f32 v5, v0, s[8:11], s3 idxen offset:4095 29// GFX908: encoding: [0xff,0x2f,0x34,0xe1,0x00,0x05,0x02,0x03] 30 31buffer_atomic_add_f32 v5, v0, s[8:11], s3 offen offset:4095 32// GFX908: encoding: [0xff,0x1f,0x34,0xe1,0x00,0x05,0x02,0x03] 33 34buffer_atomic_add_f32 v5, off, s[8:11], s3 35// GFX908: encoding: [0x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03] 36 37buffer_atomic_add_f32 v5, off, s[8:11], s3 38// GFX908: encoding: [0x00,0x00,0x34,0xe1,0x00,0x05,0x02,0x03] 39 40buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:7 41// GFX908: encoding: [0x07,0x00,0x34,0xe1,0x00,0x05,0x02,0x03] 42 43buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 glc 44// GFX908-ERR: error: invalid operand for instruction 45 46buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 slc 47// GFX908: encoding: [0xff,0x0f,0x36,0xe1,0x00,0x05,0x02,0x03] 48 49buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 50// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x03] 51 52buffer_atomic_pk_add_f16 v255, off, s[8:11], s3 offset:4095 53// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0xff,0x02,0x03] 54 55buffer_atomic_pk_add_f16 v5, off, s[12:15], s3 offset:4095 56// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x03,0x03] 57 58buffer_atomic_pk_add_f16 v5, off, s[96:99], s3 offset:4095 59// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x18,0x03] 60 61buffer_atomic_pk_add_f16 v5, off, s[8:11], s101 offset:4095 62// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x65] 63 64buffer_atomic_pk_add_f16 v5, off, s[8:11], m0 offset:4095 65// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x7c] 66 67buffer_atomic_pk_add_f16 v5, off, s[8:11], 0 offset:4095 68// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0x80] 69 70buffer_atomic_pk_add_f16 v5, off, s[8:11], -1 offset:4095 71// GFX908: encoding: [0xff,0x0f,0x38,0xe1,0x00,0x05,0x02,0xc1] 72 73buffer_atomic_pk_add_f16 v5, v0, s[8:11], s3 idxen offset:4095 74// GFX908: encoding: [0xff,0x2f,0x38,0xe1,0x00,0x05,0x02,0x03] 75 76buffer_atomic_pk_add_f16 v5, v0, s[8:11], s3 offen offset:4095 77// GFX908: encoding: [0xff,0x1f,0x38,0xe1,0x00,0x05,0x02,0x03] 78 79buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 80// GFX908: encoding: [0x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03] 81 82buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 83// GFX908: encoding: [0x00,0x00,0x38,0xe1,0x00,0x05,0x02,0x03] 84 85buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:7 86// GFX908: encoding: [0x07,0x00,0x38,0xe1,0x00,0x05,0x02,0x03] 87 88buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 glc 89// GFX908-ERR: error: invalid operand for instruction 90 91buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 slc 92// GFX908: encoding: [0xff,0x0f,0x3a,0xe1,0x00,0x05,0x02,0x03] 93 94global_atomic_add_f32 v[1:2], v2, off offset:-1 95// GFX908: encoding: [0xff,0x9f,0x34,0xdd,0x01,0x02,0x7f,0x00] 96 97global_atomic_add_f32 v[1:2], v255, off offset:-1 98// GFX908: encoding: [0xff,0x9f,0x34,0xdd,0x01,0xff,0x7f,0x00] 99 100global_atomic_add_f32 v[1:2], v2, off 101// GFX908: encoding: [0x00,0x80,0x34,0xdd,0x01,0x02,0x7f,0x00] 102 103global_atomic_pk_add_f16 v[1:2], v2, off offset:-1 104// GFX908: encoding: [0xff,0x9f,0x38,0xdd,0x01,0x02,0x7f,0x00] 105 106global_atomic_pk_add_f16 v[1:2], v255, off offset:-1 107// GFX908: encoding: [0xff,0x9f,0x38,0xdd,0x01,0xff,0x7f,0x00] 108 109global_atomic_pk_add_f16 v[1:2], v2, off 110// GFX908: encoding: [0x00,0x80,0x38,0xdd,0x01,0x02,0x7f,0x00] 111