[AMDGPU] Add error line number checking

Differential Revision: https://reviews.llvm.org/D138916
This commit is contained in:
Jay Foad 2022-11-29 13:18:24 +00:00
parent fc0efb7e78
commit dca1a3f29e
116 changed files with 11047 additions and 11047 deletions

View File

@ -7,109 +7,109 @@
v_add_u32 v1, v2, v3
// GFX9: v_add_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x68]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v1, v2, s1
// GFX9: v_add_u32_e64 v1, v2, s1 ; encoding: [0x01,0x00,0x34,0xd1,0x02,0x03,0x00,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v1, s1, v2
// GFX9: v_add_u32_e32 v1, s1, v2 ; encoding: [0x01,0x04,0x02,0x68]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v1, 4.0, v2
// GFX9: v_add_u32_e32 v1, 4.0, v2 ; encoding: [0xf6,0x04,0x02,0x68]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v1, v2, 4.0
// GFX9: v_add_u32_e64 v1, v2, 4.0 ; encoding: [0x01,0x00,0x34,0xd1,0x02,0xed,0x01,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32_e32 v1, v2, v3
// GFX9: v_add_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x68]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32_e32 v1, s1, v3
// GFX9: v_add_u32_e32 v1, s1, v3 ; encoding: [0x01,0x06,0x02,0x68]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32 v1, v2, v3
// GFX9: v_sub_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x6a]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32 v1, v2, s1
// GFX9: v_sub_u32_e64 v1, v2, s1 ; encoding: [0x01,0x00,0x35,0xd1,0x02,0x03,0x00,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32 v1, s1, v2
// GFX9: v_sub_u32_e32 v1, s1, v2 ; encoding: [0x01,0x04,0x02,0x6a]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32 v1, 4.0, v2
// GFX9: v_sub_u32_e32 v1, 4.0, v2 ; encoding: [0xf6,0x04,0x02,0x6a]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32 v1, v2, 4.0
// GFX9: v_sub_u32_e64 v1, v2, 4.0 ; encoding: [0x01,0x00,0x35,0xd1,0x02,0xed,0x01,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32_e32 v1, v2, v3
// GFX9: v_sub_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x6a]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_u32_e32 v1, s1, v3
// GFX9: v_sub_u32_e32 v1, s1, v3 ; encoding: [0x01,0x06,0x02,0x6a]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32 v1, v2, v3
// GFX9: v_subrev_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x6c]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32 v1, v2, s1
// GFX9: v_subrev_u32_e64 v1, v2, s1 ; encoding: [0x01,0x00,0x36,0xd1,0x02,0x03,0x00,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32 v1, s1, v2
// GFX9: v_subrev_u32_e32 v1, s1, v2 ; encoding: [0x01,0x04,0x02,0x6c]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32 v1, 4.0, v2
// GFX9: v_subrev_u32_e32 v1, 4.0, v2 ; encoding: [0xf6,0x04,0x02,0x6c]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32 v1, v2, 4.0
// GFX9: v_subrev_u32_e64 v1, v2, 4.0 ; encoding: [0x01,0x00,0x36,0xd1,0x02,0xed,0x01,0x00]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32_e32 v1, v2, v3
// GFX9: v_subrev_u32_e32 v1, v2, v3 ; encoding: [0x02,0x07,0x02,0x6c]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_u32_e32 v1, s1, v3
// GFX9: v_subrev_u32_e32 v1, s1, v3 ; encoding: [0x01,0x06,0x02,0x6c]
// ERR-SICI: error: instruction not supported on this GPU
// ERR-VI: error: operands are not valid for this GPU or mode
// ERR-SICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// ERR-VI: :[[@LINE-3]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode

View File

@ -41,7 +41,7 @@ buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:7
// GFX908: encoding: [0x07,0x00,0x34,0xe1,0x00,0x05,0x02,0x03]
buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 glc
// GFX908-ERR: error: instruction must not use glc
// GFX908-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
buffer_atomic_add_f32 v5, off, s[8:11], s3 offset:4095 slc
// GFX908: encoding: [0xff,0x0f,0x36,0xe1,0x00,0x05,0x02,0x03]
@ -86,7 +86,7 @@ buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:7
// GFX908: encoding: [0x07,0x00,0x38,0xe1,0x00,0x05,0x02,0x03]
buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 glc
// GFX908-ERR: error: instruction must not use glc
// GFX908-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
buffer_atomic_pk_add_f16 v5, off, s[8:11], s3 offset:4095 slc
// GFX908: encoding: [0xff,0x0f,0x3a,0xe1,0x00,0x05,0x02,0x03]

View File

@ -13,30 +13,30 @@ buffer_load_format_d16_x v1, off, s[4:7], s1
buffer_load_format_d16_xy v1, off, s[4:7], s1
// PACKED: buffer_load_format_d16_xy v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x24,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_load_format_d16_xyz v[1:2], off, s[4:7], s1
// PACKED: buffer_load_format_d16_xyz v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x28,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_load_format_d16_xyzw v[1:2], off, s[4:7], s1
// PACKED: buffer_load_format_d16_xyzw v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x2c,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_x v1, off, s[4:7], s1
// PACKED: buffer_store_format_d16_x v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
buffer_store_format_d16_xy v1, off, s[4:7], s1
// PACKED: buffer_store_format_d16_xy v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x34,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_xyz v[1:2], off, s[4:7], s1
// PACKED: buffer_store_format_d16_xyz v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x38,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_xyzw v[1:2], off, s[4:7], s1
// PACKED: buffer_store_format_d16_xyzw v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x3c,0xe0,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
//===----------------------------------------------------------------------===//
@ -48,27 +48,27 @@ tbuffer_load_format_d16_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
tbuffer_load_format_d16_xy v1, off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_load_format_d16_xy v1, off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7c,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_load_format_d16_xyz v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_load_format_d16_xyz v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7d,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_load_format_d16_xyzw v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_load_format_d16_xyzw v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7d,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_store_format_d16_x v1, off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7e,0xe9,0x00,0x01,0x01,0x01]
tbuffer_store_format_d16_xy v1, off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_store_format_d16_xy v1, off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7e,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_xyz v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_store_format_d16_xyz v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_xyzw v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// PACKED: tbuffer_store_format_d16_xyzw v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7f,0xe9,0x00,0x01,0x01,0x01]
// UNPACKED-ERR: error: operands are not valid for this GPU or mode
// UNPACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode

View File

@ -12,30 +12,30 @@ buffer_load_format_d16_x v1, off, s[4:7], s1
buffer_load_format_d16_xy v[1:2], off, s[4:7], s1
// UNPACKED: buffer_load_format_d16_xy v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x24,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_load_format_d16_xyz v[1:3], off, s[4:7], s1
// UNPACKED: buffer_load_format_d16_xyz v[1:3], off, s[4:7], s1 ; encoding: [0x00,0x00,0x28,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_load_format_d16_xyzw v[1:4], off, s[4:7], s1
// UNPACKED: buffer_load_format_d16_xyzw v[1:4], off, s[4:7], s1 ; encoding: [0x00,0x00,0x2c,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_x v1, off, s[4:7], s1
// UNPACKED: buffer_store_format_d16_x v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x30,0xe0,0x00,0x01,0x01,0x01]
buffer_store_format_d16_xy v[1:2], off, s[4:7], s1
// UNPACKED: buffer_store_format_d16_xy v[1:2], off, s[4:7], s1 ; encoding: [0x00,0x00,0x34,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_xyz v[1:3], off, s[4:7], s1
// UNPACKED: buffer_store_format_d16_xyz v[1:3], off, s[4:7], s1 ; encoding: [0x00,0x00,0x38,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
buffer_store_format_d16_xyzw v[1:4], off, s[4:7], s1
// UNPACKED: buffer_store_format_d16_xyzw v[1:4], off, s[4:7], s1 ; encoding: [0x00,0x00,0x3c,0xe0,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
//===----------------------------------------------------------------------===//
@ -47,27 +47,27 @@ tbuffer_load_format_d16_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
tbuffer_load_format_d16_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_load_format_d16_xy v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7c,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_load_format_d16_xyz v[1:3], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_load_format_d16_xyz v[1:3], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7d,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_load_format_d16_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_load_format_d16_xyzw v[1:4], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7d,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_x v1, off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_store_format_d16_x v1, off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7e,0xe9,0x00,0x01,0x01,0x01]
tbuffer_store_format_d16_xy v[1:2], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_store_format_d16_xy v[1:2], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7e,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_xyz v[1:3], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_store_format_d16_xyz v[1:3], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x00,0x7f,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
tbuffer_store_format_d16_xyzw v[1:4], off, s[4:7], dfmt:15, nfmt:2, s1
// UNPACKED: tbuffer_store_format_d16_xyzw v[1:4], off, s[4:7], s1 format:[BUF_DATA_FORMAT_RESERVED_15,BUF_NUM_FORMAT_USCALED] ; encoding: [0x00,0x80,0x7f,0xe9,0x00,0x01,0x01,0x01]
// PACKED-ERR: error: operands are not valid for this GPU or mode
// PACKED-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode

View File

@ -1,46 +1,46 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --implicit-check-not=error: --strict-whitespace
scratch_load_ubyte v1, v2, off cpol:2
// CHECK: error: not a valid operand.
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// CHECK-NEXT:{{^}}scratch_load_ubyte v1, v2, off cpol:2
// CHECK-NEXT:{{^}} ^
scratch_load_ubyte v1, v2, off glc slc dlc
// CHECK: error: dlc modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// CHECK-NEXT:{{^}}scratch_load_ubyte v1, v2, off glc slc dlc
// CHECK-NEXT:{{^}} ^
global_atomic_add v[3:4], v5, off slc glc
// CHECK: error: instruction must not use glc
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
// CHECK-NEXT:{{^}}global_atomic_add v[3:4], v5, off slc glc
// CHECK-NEXT:{{^}} ^
global_atomic_add v0, v[1:2], v2, off glc 1
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// CHECK-NEXT:{{^}}global_atomic_add v0, v[1:2], v2, off glc 1
// CHECK-NEXT:{{^}} ^
global_load_dword v3, v[0:1], off slc glc noglc
// CHECK: error: duplicate cache policy modifier
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate cache policy modifier
// CHECK-NEXT:{{^}}global_load_dword v3, v[0:1], off slc glc noglc
// CHECK-NEXT:{{^}} ^
global_load_dword v3, v[0:1], off slc glc glc
// CHECK: error: duplicate cache policy modifier
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate cache policy modifier
// CHECK-NEXT:{{^}}global_load_dword v3, v[0:1], off slc glc glc
// CHECK-NEXT:{{^}} ^
global_load_dword v3, v[0:1], off slc noglc noglc
// CHECK: error: duplicate cache policy modifier
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate cache policy modifier
// CHECK-NEXT:{{^}}global_load_dword v3, v[0:1], off slc noglc noglc
// CHECK-NEXT:{{^}} ^
global_atomic_add v[3:4], v5, off slc noglc glc
// CHECK: error: duplicate cache policy modifier
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate cache policy modifier
// CHECK-NEXT:{{^}}global_atomic_add v[3:4], v5, off slc noglc glc
// CHECK-NEXT:{{^}} ^
s_load_dword s1, s[2:3], 0xfc glc slc
// CHECK: error: invalid cache policy for SMEM instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid cache policy for SMEM instruction
// CHECK-NEXT:{{^}}s_load_dword s1, s[2:3], 0xfc glc slc
// CHECK-NEXT:{{^}}^

View File

@ -8,389 +8,389 @@
// Test unsupported GPUs.
//
// CHECK: error: instruction not supported on this GPU
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fmac_f32 v0, v1, v2
// CHECK: error: instruction not supported on this GPU
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_xnor_b32 v0, v1, v2
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot2_f32_f16 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot2_i32_i16 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot2_u32_u16 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot4_i32_i8 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot4_u32_u8 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8_i32_i4 v0, v1, v2, v3
// CHECK: error: instruction not supported on this GPU
// GFX1013: error: instruction not supported on this GPU
// CHECK: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1013: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8_u32_u4 v0, v1, v2, v3
//
// Test invalid operands.
//
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_f32_f16 v0, v1, v2, v3 op_sel
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[2,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[2,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,-1]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[-1,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,-1]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[-1,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[,0]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,2]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,0]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,2]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,-1]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[-1,0]
// GFX906-GFX908: error: invalid neg_lo value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_lo value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[,0]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,2]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[2,0]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[2,2]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,-1]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[-1,0]
// GFX906-GFX908: error: invalid neg_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid neg_hi value.
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_i32_i16 v0, v1, v2, v3 op_sel
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[2,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[2,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,-1]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[-1,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[2,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[2,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,-1]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[-1,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_i32_i16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
// FIXME-GFX906: error: invalid operand for instruction
// FIXME-GFX906: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_i32_i16 v0, v1, v2, v3 neg_lo:[0,0]
// FIXME-GFX906: error: invalid operand for instruction
// FIXME-GFX906: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_i32_i16 v0, v1, v2, v3 neg_hi:[0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_u32_u16 v0, v1, v2, v3 op_sel
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[2,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[2,2]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,-1]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[-1,0]
// GFX906-GFX908: error: invalid op_sel value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel:[0,0,0,0,0]
// GFX906-GFX908: error: invalid operand for instruction
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[
// GFX906-GFX908: error: expected a left square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a left square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[,]
// GFX906-GFX908: error: unknown token in expression
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[,0]
// GFX906-GFX908: error: invalid op_sel_hi value
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[2,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[2,2]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,-1]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[-1,0]
// GFX906-GFX908: error: invalid op_sel_hi value.
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid op_sel_hi value.
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[-1,-1]
// GFX906-GFX908: error: expected a closing square bracket
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing square bracket
v_dot2_u32_u16 v0, v1, v2, v3 op_sel_hi:[0,0,0,0,0]
// FIXME-GFX906: error: invalid operand for instruction
// FIXME-GFX906: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_u32_u16 v0, v1, v2, v3 neg_lo:[0,0]
// FIXME-GFX906: error: invalid operand for instruction
// FIXME-GFX906: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_u32_u16 v0, v1, v2, v3 neg_hi:[0,0]
//
// Test regular modifiers.
//
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, |v1|, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, |v1|, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, |v1|, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, |v1|, |v2|, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, abs(v1), v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, abs(v1), abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, abs(v1), v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, abs(v1), abs(v2), abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, -v1, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, -v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, -v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_f32_f16 v0, -v1, -v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, |v1|, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, |v1|, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, |v1|, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, |v1|, |v2|, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, abs(v1), v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, abs(v1), abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, abs(v1), v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, abs(v1), abs(v2), abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, -v1, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, -v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, -v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_i32_i16 v0, -v1, -v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, |v1|, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, |v1|, |v2|, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, |v1|, v2, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, |v1|, |v2|, |v3|
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, abs(v1), v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, abs(v1), abs(v2), v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, abs(v1), v2, abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, abs(v1), abs(v2), abs(v3)
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, -v1, v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, -v1, -v2, v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, -v1, v2, -v3
// GFX906-GFX908: error: not a valid operand
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand
v_dot2_u32_u16 v0, -v1, -v2, -v3
//
// Test constant bus restrictions.
//
// GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_dot2_f32_f16 v255, s1, s2, s3
// GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_dot2_i32_i16 v255, s1, s2, s3
// GFX906-GFX908: error: invalid operand (violates constant bus restrictions)
// GFX906-GFX908: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_dot2_u32_u16 v255, s1, s2, s3

View File

@ -6,33 +6,33 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck -check-prefix=GFX10-ERR --implicit-check-not=error: %s
v_mov_b32_dpp v0, v1 row_share:1 row_mask:0x1 bank_mask:0x1
// GFX89-ERR: error: not a valid operand.
// GFX89-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// GFX10: v_mov_b32_dpp v0, v1 row_share:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x51,0x01,0x11]
v_mov_b32_dpp v0, v1 row_xmask:1 row_mask:0x1 bank_mask:0x1
// GFX89-ERR: error: not a valid operand.
// GFX89-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// GFX10: v_mov_b32_dpp v0, v1 row_xmask:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x61,0x01,0x11]
v_mov_b32_dpp v0, v1 wave_shl:1 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 wave_shl:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x30,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_shr:1 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 wave_shr:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x38,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_rol:1 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 wave_rol:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x34,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b32_dpp v0, v1 wave_ror:1 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 wave_ror:1 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x3c,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b32_dpp v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 row_bcast:15 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x42,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b32_dpp v0, v1 row_bcast:31 row_mask:0x1 bank_mask:0x1
// GFX89: v_mov_b32_dpp v0, v1 row_bcast:31 row_mask:0x1 bank_mask:0x1 ; encoding: [0xfa,0x02,0x00,0x7e,0x01,0x43,0x01,0x11]
// GFX10-ERR: error: not a valid operand.
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.

View File

@ -2,57 +2,57 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck %s --check-prefix=GFX900 --implicit-check-not=error:
// GFX90A: v_ceil_f64_dpp v[0:1], v[2:3] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x30,0x00,0x7e,0x02,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_ceil_f64 v[0:1], v[2:3] row_newbcast:1
// GFX90A: v_fmac_f64_dpp v[0:1], v[2:3], v[4:5] row_newbcast:2 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x08,0x00,0x08,0x02,0x52,0x01,0xff]
// GFX900: error: instruction not supported on this GPU
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fmac_f64 v[0:1], v[2:3], v[4:5] row_newbcast:2
// GFX90A: v_cvt_f32_f64_dpp v5, v[0:1] row_newbcast:15 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x1e,0x0a,0x7e,0x00,0x5f,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_f32_f64 v5, v[0:1] row_newbcast:15
// GFX90A: v_cvt_i32_f64_dpp v5, v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x06,0x0a,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_i32_f64 v5, v[0:1] row_newbcast:1
// GFX90A: v_cvt_u32_f64_dpp v5, v[0:1] row_newbcast:2 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x2a,0x0a,0x7e,0x00,0x52,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_u32_f64 v5, v[0:1] row_newbcast:2
// GFX90A: v_floor_f64_dpp v[4:5], v[0:1] row_newbcast:15 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x34,0x08,0x7e,0x00,0x5f,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_floor_f64 v[4:5], v[0:1] row_newbcast:15
// GFX90A: v_fract_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x64,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_fract_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_frexp_exp_i32_f64_dpp v5, v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x60,0x0a,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_frexp_exp_i32_f64 v5, v[0:1] row_newbcast:1
// GFX90A: v_frexp_mant_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x62,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_frexp_mant_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_rcp_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x4a,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_rcp_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_rndne_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x32,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_rndne_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_rsq_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x4c,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_rsq_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_sqrt_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x50,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_sqrt_f64 v[4:5], v[0:1] row_newbcast:1
// GFX90A: v_trunc_f64_dpp v[4:5], v[0:1] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x2e,0x08,0x7e,0x00,0x51,0x01,0xff]
// GFX900: error: not a valid operand.
// GFX900: :[[@LINE+1]]:{{[0-9]+}}: error: not a valid operand.
v_trunc_f64 v[4:5], v[0:1] row_newbcast:1

View File

@ -2,11 +2,11 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck --implicit-check-not=error: %s
// offset too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_add_u32 v2, v4 offset:1000000000
// offset too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_add_u32 v2, v4 offset:0x10000
// offset0 twice
@ -18,108 +18,108 @@ ds_write2_b32 v2, v4, v6 offset0:4 offset0:8
ds_write2_b32 v2, v4, v6 offset1:4 offset1:8
// offset0 too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_write2_b32 v2, v4, v6 offset0:1000000000
// offset0 too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_write2_b32 v2, v4, v6 offset0:0x100
// offset1 too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_write2_b32 v2, v4, v6 offset1:1000000000
// offset1 too big
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_write2_b32 v2, v4, v6 offset1:0x100
//===----------------------------------------------------------------------===//
// swizzle
//===----------------------------------------------------------------------===//
// CHECK: error: expected a colon
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a colon
ds_swizzle_b32 v8, v2 offset
// CHECK: error: unknown token in expression
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
ds_swizzle_b32 v8, v2 offset:
// CHECK: error: expected a colon
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a colon
ds_swizzle_b32 v8, v2 offset-
// CHECK: error: expected a swizzle macro or an absolute expression
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle macro or an absolute expression
ds_swizzle_b32 v8, v2 offset:SWIZZLE(QUAD_PERM, 0, 1, 2, 3)
// CHECK: error: expected a swizzle mode
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle mode
ds_swizzle_b32 v8, v2 offset:swizzle(quad_perm, 0, 1, 2, 3)
// CHECK: error: expected a swizzle mode
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a swizzle mode
ds_swizzle_b32 v8, v2 offset:swizzle(XXX,1)
// CHECK: error: expected a comma
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a comma
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM
// CHECK: error: expected a comma
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a comma
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2)
// CHECK: error: expected a closing parentheses
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing parentheses
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3
// CHECK: error: expected a closing parentheses
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a closing parentheses
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 0, 1, 2, 3, 4)
// CHECK: error: expected a 2-bit lane id
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 2-bit lane id
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, -1, 1, 2, 3)
// CHECK: error: expected a 2-bit lane id
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 2-bit lane id
ds_swizzle_b32 v8, v2 offset:swizzle(QUAD_PERM, 4, 1, 2, 3)
// CHECK: error: group size must be in the interval [1,16]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]
ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,0)
// CHECK: error: group size must be a power of two
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two
ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,3)
// CHECK: error: group size must be in the interval [1,16]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]
ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,17)
// CHECK: error: group size must be in the interval [1,16]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [1,16]
ds_swizzle_b32 v8, v2 offset:swizzle(SWAP,32)
// CHECK: error: group size must be in the interval [2,32]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]
ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,1)
// CHECK: error: group size must be a power of two
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two
ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,3)
// CHECK: error: group size must be in the interval [2,32]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]
ds_swizzle_b32 v8, v2 offset:swizzle(REVERSE,33)
// CHECK: error: group size must be in the interval [2,32]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]
ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,1,0)
// CHECK: error: group size must be a power of two
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be a power of two
ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,3,1)
// CHECK: error: group size must be in the interval [2,32]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: group size must be in the interval [2,32]
ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,33,1)
// CHECK: error: lane id must be in the interval [0,group size - 1]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: lane id must be in the interval [0,group size - 1]
ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,2,-1)
// CHECK: error: lane id must be in the interval [0,group size - 1]
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: lane id must be in the interval [0,group size - 1]
ds_swizzle_b32 v8, v2 offset:swizzle(BROADCAST,2,2)
// CHECK: error: expected a string
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a string
ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, pppii)
// CHECK: error: expected a 5-character mask
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask
ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "")
// CHECK: error: expected a 5-character mask
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask
ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "ppii")
// CHECK: error: expected a 5-character mask
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: expected a 5-character mask
ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppiii")
// CHECK: error: invalid mask
// CHECK: :[[@LINE+1]]:{{[0-9]+}}: error: invalid mask
ds_swizzle_b32 v8, v2 offset:swizzle(BITMASK_PERM, "pppi2")

View File

@ -3,40 +3,40 @@
ds_read_u8_d16 v8, v2
// GFX9: ds_read_u8_d16 v8, v2 ; encoding: [0x00,0x00,0xac,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u8_d16_hi v8, v2
// GFX9: ds_read_u8_d16_hi v8, v2 ; encoding: [0x00,0x00,0xae,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_i8_d16 v8, v2
// GFX9: ds_read_i8_d16 v8, v2 ; encoding: [0x00,0x00,0xb0,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_i8_d16_hi v8, v2
// GFX9: ds_read_i8_d16_hi v8, v2 ; encoding: [0x00,0x00,0xb2,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u16_d16 v8, v2
// GFX9: ds_read_u16_d16 v8, v2 ; encoding: [0x00,0x00,0xb4,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u16_d16_hi v8, v2
// GFX9: ds_read_u16_d16_hi v8, v2 ; encoding: [0x00,0x00,0xb6,0xd8,0x02,0x00,0x00,0x08]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_write_b8_d16_hi v8, v2
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: ds_write_b8_d16_hi v8, v2 ; encoding: [0x00,0x00,0xa8,0xd8,0x08,0x02,0x00,0x00]
ds_write_b16_d16_hi v8, v2
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: ds_write_b16_d16_hi v8, v2 ; encoding: [0x00,0x00,0xaa,0xd8,0x08,0x02,0x00,0x00]
ds_write_addtid_b32 v8
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: ds_write_addtid_b32 v8 ; encoding: [0x00,0x00,0x3a,0xd8,0x00,0x08,0x00,0x00]
ds_read_addtid_b32 v8
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: ds_read_addtid_b32 v8 ; encoding: [0x00,0x00,0x6c,0xd9,0x00,0x00,0x00,0x08]

View File

@ -16,11 +16,11 @@ ds_add_u32 v2, v4 offset:16
// VI: ds_add_u32 v2, v4 offset:16 ; encoding: [0x10,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
ds_add_src2_f32 v255 offset:65535
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: ds_add_src2_f32 v255 offset:65535 ; encoding: [0xff,0xff,0x2a,0xd9,0xff,0x00,0x00,0x00]
ds_add_src2_f32 v0 offset:4 gds
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: ds_add_src2_f32 v0 offset:4 gds ; encoding: [0x04,0x00,0x2b,0xd9,0x00,0x00,0x00,0x00]
//===----------------------------------------------------------------------===//
@ -68,7 +68,7 @@ ds_add_u32 v2, v4
// VI: ds_add_u32 v2, v4 ; encoding: [0x00,0x00,0x00,0xd8,0x02,0x04,0x00,0x00]
ds_add_f32 v2, v4
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: ds_add_f32 v2, v4 ; encoding: [0x00,0x00,0x2a,0xd8,0x02,0x04,0x00,0x00]
ds_sub_u32 v2, v4
@ -188,7 +188,7 @@ ds_add_rtn_u32 v8, v2, v4
// VI: ds_add_rtn_u32 v8, v2, v4 ; encoding: [0x00,0x00,0x40,0xd8,0x02,0x04,0x00,0x08]
ds_add_rtn_f32 v8, v2, v4
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: ds_add_rtn_f32 v8, v2, v4 ; encoding: [0x00,0x00,0x6a,0xd8,0x02,0x04,0x00,0x08]
ds_sub_rtn_u32 v8, v2, v4
@ -497,17 +497,17 @@ ds_read2st64_b64 v[8:11], v2
// VI: ds_read2st64_b64 v[8:11], v2 ; encoding: [0x00,0x00,0xf0,0xd8,0x02,0x00,0x00,0x08]
ds_read_b128 v[8:11], v2
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: ds_read_b128 v[8:11], v2 ; encoding: [0x00,0x00,0xfc,0xdb,0x02,0x00,0x00,0x08]
// VI: ds_read_b128 v[8:11], v2 ; encoding: [0x00,0x00,0xfe,0xd9,0x02,0x00,0x00,0x08]
ds_write_b128 v2, v[4:7]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: ds_write_b128 v2, v[4:7] ; encoding: [0x00,0x00,0x7c,0xdb,0x02,0x04,0x00,0x00]
// VI: ds_write_b128 v2, v[4:7] ; encoding: [0x00,0x00,0xbe,0xd9,0x02,0x04,0x00,0x00]
ds_nop
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: ds_nop ; encoding: [0x00,0x00,0x50,0xd8,0x00,0x00,0x00,0x00]
// VI: ds_nop ; encoding: [0x00,0x00,0x28,0xd8,0x00,0x00,0x00,0x00]

View File

@ -1,7 +1,7 @@
// RUN: not llvm-mc -arch amdgcn %s 2>&1 | FileCheck --check-prefix=GCN %s
// GCN: error: .amd_amdgpu_hsa_metadata directive is not available on non-amdhsa OSes
// GCN: :[[@LINE+1]]:{{[0-9]+}}: error: .amd_amdgpu_hsa_metadata directive is not available on non-amdhsa OSes
.amd_amdgpu_hsa_metadata
// GCN: error: .amd_amdgpu_pal_metadata directive is not available on non-amdpal OSes
// GCN: :[[@LINE+1]]:{{[0-9]+}}: error: .amd_amdgpu_pal_metadata directive is not available on non-amdpal OSes
.amd_amdgpu_pal_metadata

View File

@ -1,10 +1,10 @@
// RUN: not llvm-mc -arch r600 %s 2>&1 | FileCheck --check-prefix=R600 %s
// R600: error: .amd_amdgpu_isa directive is not available on non-amdgcn architectures
// R600: :[[@LINE+1]]:{{[0-9]+}}: error: .amd_amdgpu_isa directive is not available on non-amdgcn architectures
.amd_amdgpu_isa "r600"
// R600: error: .amd_amdgpu_hsa_metadata directive is not available on non-amdhsa OSes
// R600: :[[@LINE+1]]:{{[0-9]+}}: error: .amd_amdgpu_hsa_metadata directive is not available on non-amdhsa OSes
.amd_amdgpu_hsa_metadata
// R600: error: .amd_amdgpu_pal_metadata directive is not available on non-amdpal OSes
// R600: :[[@LINE+1]]:{{[0-9]+}}: error: .amd_amdgpu_pal_metadata directive is not available on non-amdpal OSes
.amd_amdgpu_pal_metadata

View File

@ -3,121 +3,121 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 %s 2>&1 | FileCheck -check-prefixes=GCN,GFX11 --implicit-check-not=error: %s
exp mrt8 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp pos4 v3, v2, v1, v0
// GFX68: :5: error: exp target is not supported on this GPU
// GFX68: :[[@LINE-1]]:5: error: exp target is not supported on this GPU
exp pos5 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp param32 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_10 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_10 v3, v2, v1, v0 done
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_11 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_11 v3, v2, v1, v0 done
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp mrt-1 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp mrtX v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp pos-1 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp posX v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp param-1 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp paramX v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_-1 v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp invalid_target_X v3, v2, v1, v0
// GCN: :5: error: invalid exp target
// GCN: :[[@LINE-1]]:5: error: invalid exp target
exp 0 v3, v2, v1, v0
// GCN: :5: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:5: error: invalid operand for instruction
exp , v3, v2, v1, v0
// GCN: :5: error: unknown token in expression
// GCN: :[[@LINE-1]]:5: error: unknown token in expression
exp
// GCN: :1: error: too few operands for instruction
// GCN: :[[@LINE-1]]:1: error: too few operands for instruction
exp mrt0 s0, v0, v0, v0
// GCN: 10: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:10: error: invalid operand for instruction
exp mrt0 v0, s0, v0, v0
// GCN: 14: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:14: error: invalid operand for instruction
exp mrt0 v0, v0, s0, v0
// GCN: 18: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:18: error: invalid operand for instruction
exp mrt0 v0, v0, v0, s0
// GCN: 22: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:22: error: invalid operand for instruction
exp mrt0 v[0:1], v0, v0, v0
// GCN: 10: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:10: error: invalid operand for instruction
exp mrt0 v0, v[0:1], v0, v0
// GCN: 14: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:14: error: invalid operand for instruction
exp mrt0 v0, v0, v[0:1], v0
// GCN: 18: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:18: error: invalid operand for instruction
exp mrt0 v0, v0, v0, v[0:1]
// GCN: 22: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:22: error: invalid operand for instruction
exp mrt0 1.0, v0, v0, v0
// GCN: 10: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:10: error: invalid operand for instruction
exp mrt0 v0, 1.0, v0, v0
// GCN: 14: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:14: error: invalid operand for instruction
exp mrt0 v0, v0, 1.0, v0
// GCN: 18: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:18: error: invalid operand for instruction
exp mrt0 v0, v0, v0, 1.0
// GCN: 22: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:22: error: invalid operand for instruction
exp mrt0 7, v0, v0, v0
// GCN: 10: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:10: error: invalid operand for instruction
exp mrt0 v0, 7, v0, v0
// GCN: 14: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:14: error: invalid operand for instruction
exp mrt0 v0, v0, 7, v0
// GCN: 18: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:18: error: invalid operand for instruction
exp mrt0 v0, v0, v0, 7
// GCN: 22: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:22: error: invalid operand for instruction
exp mrt0 0x12345678, v0, v0, v0
// GCN: 10: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:10: error: invalid operand for instruction
exp mrt0 v0, 0x12345678, v0, v0
// GCN: 14: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:14: error: invalid operand for instruction
exp mrt0 v0, v0, 0x12345678, v0
// GCN: 18: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:18: error: invalid operand for instruction
exp mrt0 v0, v0, v0, 0x12345678
// GCN: 22: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:22: error: invalid operand for instruction
exp null v4, v3, v2, v1
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: exp target is not supported on this GPU

View File

@ -4,16 +4,16 @@
// RUN: llvm-mc -arch=amdgcn -mcpu=gfx1100 -show-encoding %s | FileCheck -check-prefix=GFX11 %s
exp prim v1, off, off, off
// SIVI: :5: error: exp target is not supported on this GPU
// SIVI: :[[@LINE-1]]:5: error: exp target is not supported on this GPU
// GFX10: exp prim v1, off, off, off ; encoding: [0x41,0x01,0x00,0xf8,0x01,0x00,0x00,0x00]
// GFX11: exp prim v1, off, off, off ; encoding: [0x41,0x01,0x00,0xf8,0x01,0x00,0x00,0x00]
exp prim v2, v3, off, off
// SIVI: :5: error: exp target is not supported on this GPU
// SIVI: :[[@LINE-1]]:5: error: exp target is not supported on this GPU
// GFX10: exp prim v2, v3, off, off ; encoding: [0x43,0x01,0x00,0xf8,0x02,0x03,0x00,0x00]
// GFX11: exp prim v2, v3, off, off ; encoding: [0x43,0x01,0x00,0xf8,0x02,0x03,0x00,0x00]
exp pos4 v4, v3, v2, v1
// SIVI: error: exp target is not supported on this GPU
// SIVI: :[[@LINE-1]]:{{[0-9]+}}: error: exp target is not supported on this GPU
// GFX10: exp pos4 v4, v3, v2, v1 ; encoding: [0x0f,0x01,0x00,0xf8,0x04,0x03,0x02,0x01]
// GFX11: exp pos4 v4, v3, v2, v1 ; encoding: [0x0f,0x01,0x00,0xf8,0x04,0x03,0x02,0x01]

View File

@ -55,19 +55,19 @@ v_lshlrev_b64 v[5:6], u-1, v[2:3]
//===----------------------------------------------------------------------===//
s_sub_u32 s0, 123, u
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_sub_u32 s0, u, u
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_sub_u32 s0, u, u1
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_bfe_u32 v0, v2, 123, u
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_bfe_u32 v0, v2, u, u
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_bfe_u32 v0, v2, u, u1
// NOGFX10: error: only one unique literal operand is allowed
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed

View File

@ -6,7 +6,7 @@
//===----------------------------------------------------------------------===//
v_mov_b32_sdwa v1, sext(u)
// NOGFX9: error: expected an absolute expression
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: expected an absolute expression
//===----------------------------------------------------------------------===//
// Instructions can use only one literal.
@ -14,16 +14,16 @@ v_mov_b32_sdwa v1, sext(u)
//===----------------------------------------------------------------------===//
s_sub_u32 s0, 123, u
// NOGFX9: error: only one unique literal operand is allowed
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_sub_u32 s0, u, u
// NOGFX9: error: only one unique literal operand is allowed
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_sub_u32 s0, u, u1
// NOGFX9: error: only one unique literal operand is allowed
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_bfe_u32 v0, v2, v3, u
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
//===----------------------------------------------------------------------===//
// Constant expressions may be used with 'sext' modifier

View File

@ -6,17 +6,17 @@
//===----------------------------------------------------------------------===//
s_sub_u32 s0, s0, -1.0 + 10000000000
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
t=10000000000
s_sub_u32 s0, s0, 1.0 + t
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f32 v1, 1.0 + 1.0
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f32 v1, -1.0 + 1.0
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Constant expressions may be used with SP3 'abs' modifiers |...|
@ -52,10 +52,10 @@ v_mad_f16 v5, v1, v2, |hm1|
// Only primary expressions are allowed
v_ceil_f32 v1, |1+i1|
// NOVI: error: expected vertical bar
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected vertical bar
v_ceil_f32 v1, |i1+1|
// NOVI: error: expected vertical bar
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected vertical bar
//===----------------------------------------------------------------------===//
// Constant expressions may be used with 'abs' and 'neg' modifiers.
@ -195,29 +195,29 @@ v_and_b32 v0, u+1, v0
//===----------------------------------------------------------------------===//
v_ceil_f64 v[0:1], u
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_u16 v0, u, v0
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_addk_i32 s2, u
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_load_dword s1, s[2:3], u glc
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Relocatable expressions cannot be used with VOP3 modifiers.
//===----------------------------------------------------------------------===//
v_ceil_f32 v1, |u|
// NOVI: error: expected an absolute expression
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected an absolute expression
v_ceil_f32 v1, neg(u)
// NOVI: error: expected an absolute expression
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected an absolute expression
v_ceil_f32 v1, abs(u)
// NOVI: error: expected an absolute expression
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected an absolute expression
//===----------------------------------------------------------------------===//
// Misc tests with symbols.
@ -333,8 +333,8 @@ v_sin_f32 v0, -[ttmp0]
s1000=1
v_sin_f32 v0, -s1000
// NOVI: error: register index is out of range
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
xnack_mask_lo=1
v_sin_f32 v0, xnack_mask_lo
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU

View File

@ -5,13 +5,13 @@ flat_load_dword v1, v[3:4]
// GFX10: encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x7d,0x01]
flat_load_dword v1, v[3:4] offset:-1
// GFX10-ERR: :28: error: expected a 11-bit unsigned offset
// GFX10-ERR: :[[@LINE-1]]:28: error: expected a 11-bit unsigned offset
flat_load_dword v1, v[3:4] offset:2047
// GFX10: encoding: [0xff,0x07,0x30,0xdc,0x03,0x00,0x7d,0x01]
flat_load_dword v1, v[3:4] offset:2048
// GFX10-ERR: error: expected a 11-bit unsigned offset
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 11-bit unsigned offset
flat_load_dword v1, v[3:4] offset:4 glc
// GFX10: encoding: [0x04,0x00,0x31,0xdc,0x03,0x00,0x7d,0x01]
@ -38,10 +38,10 @@ flat_atomic_cmpswap v[1:2], v[3:4] slc
// GFX10: encoding: [0x00,0x00,0xc6,0xdc,0x01,0x03,0x7d,0x00]
flat_atomic_cmpswap v[1:2], v[3:4] offset:2047 glc
// GFX10-ERR: error: instruction must not use glc
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
flat_atomic_cmpswap v[1:2], v[3:4] glc
// GFX10-ERR: error: instruction must not use glc
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047 glc
// GFX10: encoding: [0xff,0x07,0xc5,0xdc,0x01,0x03,0x7d,0x00]
@ -59,10 +59,10 @@ flat_atomic_cmpswap v0, v[1:2], v[3:4] glc
// GFX10: encoding: [0x00,0x00,0xc5,0xdc,0x01,0x03,0x7d,0x00]
flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:2047
// GFX10-ERR: error: instruction must use glc
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
flat_atomic_cmpswap v0, v[1:2], v[3:4] slc
// GFX10-ERR: error: instruction must use glc
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
flat_atomic_swap v[3:4], v5 offset:16
// GFX10: encoding: [0x10,0x00,0xc0,0xdc,0x03,0x05,0x7d,0x00]
@ -71,28 +71,28 @@ flat_store_dword v[3:4], v1 offset:16
// GFX10: encoding: [0x10,0x00,0x70,0xdc,0x03,0x01,0x7d,0x00]
flat_store_dword v[3:4], v1, off
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_store_dword v[3:4], v1, s[0:1]
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_store_dword v[3:4], v1, s0
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_load_dword v1, v[3:4], off
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_load_dword v1, v[3:4], s[0:1]
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_load_dword v1, v[3:4], s0
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_load_dword v1, v[3:4], exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_store_dword v[3:4], v1, exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
flat_load_ubyte_d16 v1, v[3:4]
// GFX10: encoding: [0x00,0x00,0x80,0xdc,0x03,0x00,0x7d,0x01]

View File

@ -9,40 +9,40 @@ flat_load_dword v1, v[3:4] offset:0
// GCN: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x50,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4] offset:-1
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :28: error: expected a 12-bit unsigned offset
// VI-ERR: :[[@LINE-1]]:28: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:28: error: expected a 12-bit unsigned offset
flat_load_dword v1, v[3:4] offset:4095
// GFX9: flat_load_dword v1, v[3:4] offset:4095 ; encoding: [0xff,0x0f,0x50,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:28: error: flat offset modifier is not supported on this GPU
flat_load_dword v1, v[3:4] offset:4096
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :28: error: expected a 12-bit unsigned offset
// VI-ERR: :[[@LINE-1]]:28: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:28: error: expected a 12-bit unsigned offset
flat_load_dword v1, v[3:4] offset:4 glc
// GFX9: flat_load_dword v1, v[3:4] offset:4 glc ; encoding: [0x04,0x00,0x51,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:28: error: flat offset modifier is not supported on this GPU
flat_load_dword v1, v[3:4] offset:4 glc slc
// GFX9: flat_load_dword v1, v[3:4] offset:4 glc slc ; encoding: [0x04,0x00,0x53,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:28: error: flat offset modifier is not supported on this GPU
flat_atomic_add v[3:4], v5 offset:8 slc
// GFX9: flat_atomic_add v[3:4], v5 offset:8 slc ; encoding: [0x08,0x00,0x0a,0xdd,0x03,0x05,0x00,0x00]
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:28: error: flat offset modifier is not supported on this GPU
flat_atomic_add v[3:4], v5 inst_offset:8 slc
// GFX9: flat_atomic_add v[3:4], v5 offset:8 slc ; encoding: [0x08,0x00,0x0a,0xdd,0x03,0x05,0x00,0x00]
// VI-ERR: :28: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:28: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v[1:2], v[3:4] offset:4095
// GFX9: flat_atomic_cmpswap v[1:2], v[3:4] offset:4095 ; encoding: [0xff,0x0f,0x04,0xdd,0x01,0x03,0x00,0x00]
// VI-ERR: :36: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:36: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v[1:2], v[3:4] offset:4095 slc
// GFX9: flat_atomic_cmpswap v[1:2], v[3:4] offset:4095 slc ; encoding: [0xff,0x0f,0x06,0xdd,0x01,0x03,0x00,0x00]
// VI-ERR: :36: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:36: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v[1:2], v[3:4]
// GFX9: flat_atomic_cmpswap v[1:2], v[3:4] ; encoding: [0x00,0x00,0x04,0xdd,0x01,0x03,0x00,0x00]
@ -53,19 +53,19 @@ flat_atomic_cmpswap v[1:2], v[3:4] slc
// VI: flat_atomic_cmpswap v[1:2], v[3:4] slc ; encoding: [0x00,0x00,0x06,0xdd,0x01,0x03,0x00,0x00]
flat_atomic_cmpswap v[1:2], v[3:4] offset:4095 glc
// GFX9-ERR: error: instruction must not use glc
// VI-ERR: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v[1:2], v[3:4] glc
// GCNERR: error: instruction must not use glc
// GCNERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use glc
flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:4095 glc
// GFX9: flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:4095 glc ; encoding: [0xff,0x0f,0x05,0xdd,0x01,0x03,0x00,0x00]
// VI-ERR: :40: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:40: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:4095 glc slc
// GFX9: flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:4095 glc slc ; encoding: [0xff,0x0f,0x07,0xdd,0x01,0x03,0x00,0x00]
// VI-ERR: :40: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:40: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v0, v[1:2], v[3:4] glc
// GFX9: flat_atomic_cmpswap v0, v[1:2], v[3:4] glc ; encoding: [0x00,0x00,0x05,0xdd,0x01,0x03,0x00,0x00]
@ -76,75 +76,75 @@ flat_atomic_cmpswap v0, v[1:2], v[3:4] glc slc
// VI: flat_atomic_cmpswap v0, v[1:2], v[3:4] glc slc ; encoding: [0x00,0x00,0x07,0xdd,0x01,0x03,0x00,0x00]
flat_atomic_cmpswap v0, v[1:2], v[3:4]
// GCNERR: error: instruction must use glc
// GCNERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
flat_atomic_cmpswap v0, v[1:2], v[3:4] offset:4095
// GFX9-ERR: error: instruction must use glc
// VI-ERR: error: flat offset modifier is not supported on this GPU
// GFX9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: flat offset modifier is not supported on this GPU
flat_atomic_cmpswap v0, v[1:2], v[3:4] slc
// GCNERR: error: instruction must use glc
// GCNERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must use glc
flat_atomic_swap v[3:4], v5 offset:16
// GFX9: flat_atomic_swap v[3:4], v5 offset:16 ; encoding: [0x10,0x00,0x00,0xdd,0x03,0x05,0x00,0x00]
// VI-ERR: :29: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:29: error: flat offset modifier is not supported on this GPU
flat_store_dword v[3:4], v1 offset:16
// GFX9: flat_store_dword v[3:4], v1 offset:16 ; encoding: [0x10,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
// VI-ERR: :29: error: flat offset modifier is not supported on this GPU
// VI-ERR: :[[@LINE-2]]:29: error: flat offset modifier is not supported on this GPU
flat_store_dword v[3:4], v1, off
// GCNERR: :30: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:30: error: invalid operand for instruction
flat_store_dword v[3:4], v1, s[0:1]
// GCNERR: :30: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:30: error: invalid operand for instruction
flat_store_dword v[3:4], v1, s0
// GCNERR: :30: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:30: error: invalid operand for instruction
flat_load_dword v1, v[3:4], off
// GCNERR: :29: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:29: error: invalid operand for instruction
flat_load_dword v1, v[3:4], s[0:1]
// GCNERR: :29: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:29: error: invalid operand for instruction
flat_load_dword v1, v[3:4], s0
// GCNERR: :29: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:29: error: invalid operand for instruction
flat_load_dword v1, v[3:4], exec_hi
// GCNERR: :29: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:29: error: invalid operand for instruction
flat_store_dword v[3:4], v1, exec_hi
// GCNERR: :30: error: invalid operand for instruction
// GCNERR: :[[@LINE-1]]:30: error: invalid operand for instruction
flat_load_ubyte_d16 v1, v[3:4]
// GFX9: flat_load_ubyte_d16 v1, v[3:4] ; encoding: [0x00,0x00,0x80,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_ubyte_d16_hi v1, v[3:4]
// GFX9: flat_load_ubyte_d16_hi v1, v[3:4] ; encoding: [0x00,0x00,0x84,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_sbyte_d16 v1, v[3:4]
// GFX9: flat_load_sbyte_d16 v1, v[3:4] ; encoding: [0x00,0x00,0x88,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_sbyte_d16_hi v1, v[3:4]
// GFX9: flat_load_sbyte_d16_hi v1, v[3:4] ; encoding: [0x00,0x00,0x8c,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_short_d16 v1, v[3:4]
// GFX9: flat_load_short_d16 v1, v[3:4] ; encoding: [0x00,0x00,0x90,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_short_d16_hi v1, v[3:4]
// GFX9: flat_load_short_d16_hi v1, v[3:4] ; encoding: [0x00,0x00,0x94,0xdc,0x03,0x00,0x00,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_store_byte_d16_hi v[3:4], v1
// GFX9: flat_store_byte_d16_hi v[3:4], v1 ; encoding: [0x00,0x00,0x64,0xdc,0x03,0x01,0x00,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_store_short_d16_hi v[3:4], v1
// GFX9: flat_store_short_d16_hi v[3:4], v1 ; encoding: [0x00,0x00,0x6c,0xdc,0x03,0x01,0x00,0x00
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -8,605 +8,605 @@
global_load_ubyte v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x20,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_ubyte v1, v[3:4], off ; encoding: [0x00,0x80,0x40,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_ubyte v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x20,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sbyte v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x24,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_sbyte v1, v[3:4], off ; encoding: [0x00,0x80,0x44,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sbyte v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x24,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_ushort v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x28,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_ushort v1, v[3:4], off ; encoding: [0x00,0x80,0x48,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_ushort v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x28,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sshort v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x2c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_sshort v1, v[3:4], off ; encoding: [0x00,0x80,0x4c,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sshort v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x2c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dword v1, v[3:4], off ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx2 v[1:2], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dwordx2 v[1:2], v[3:4], off ; encoding: [0x00,0x80,0x54,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx2 v[1:2], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx3 v[1:3], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x3c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dwordx3 v[1:3], v[3:4], off ; encoding: [0x00,0x80,0x58,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx3 v[1:3], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x3c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx4 v[1:4], v[3:4], off
// GFX10: encoding: [0x00,0x80,0x38,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dwordx4 v[1:4], v[3:4], off ; encoding: [0x00,0x80,0x5c,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dwordx4 v[1:4], v[3:4], off dlc
// GFX10: encoding: [0x00,0x90,0x38,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:0
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dword v1, v[3:4], off ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:4095
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:35: error: expected a 12-bit signed offset
// GFX9: global_load_dword v1, v[3:4], off offset:4095 ; encoding: [0xff,0x8f,0x50,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:-1
// GFX10: encoding: [0xff,0x8f,0x30,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_dword v1, v[3:4], off offset:-1 ; encoding: [0xff,0x9f,0x50,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:-4096
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:35: error: expected a 12-bit signed offset
// GFX9: global_load_dword v1, v[3:4], off offset:-4096 ; encoding: [0x00,0x90,0x50,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], off offset:4096
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9-ERR: :35: error: expected a 13-bit signed offset
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:35: error: expected a 12-bit signed offset
// GFX9-ERR: :[[@LINE-2]]:35: error: expected a 13-bit signed offset
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4] off, offset:-4097
// GFX10-ERR: :35: error: expected a 12-bit signed offset
// GFX9-ERR: :35: error: expected a 13-bit signed offset
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:35: error: expected a 12-bit signed offset
// GFX9-ERR: :[[@LINE-2]]:35: error: expected a 13-bit signed offset
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_store_byte v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x60,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_byte v[3:4], v1, off ; encoding: [0x00,0x80,0x60,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_byte v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x60,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_short v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x68,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_short v[3:4], v1, off ; encoding: [0x00,0x80,0x68,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_short v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x68,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dword v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dword v[3:4], v1, off ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dword v[3:4], v1, off dlc
// GFX10: encoding: [0x00,0x90,0x70,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx2 v[3:4], v[1:2], off
// GFX10: encoding: [0x00,0x80,0x74,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dwordx2 v[3:4], v[1:2], off ; encoding: [0x00,0x80,0x74,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx2 v[3:4], v[1:2], off dlc
// GFX10: encoding: [0x00,0x90,0x74,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx3 v[3:4], v[1:3], off
// GFX10: encoding: [0x00,0x80,0x7c,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dwordx3 v[3:4], v[1:3], off ; encoding: [0x00,0x80,0x78,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx3 v[3:4], v[1:3], off dlc
// GFX10: encoding: [0x00,0x90,0x7c,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx4 v[3:4], v[1:4], off
// GFX10: encoding: [0x00,0x80,0x78,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dwordx4 v[3:4], v[1:4], off ; encoding: [0x00,0x80,0x7c,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dwordx4 v[3:4], v[1:4], off dlc
// GFX10: encoding: [0x00,0x90,0x78,0xdc,0x03,0x01,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dword v[3:4], v1, off offset:12
// GFX10: encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_dword v[3:4], v1, off offset:12 ; encoding: [0x0c,0x80,0x70,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v3, s[2:3]
// GFX10: encoding: [0x00,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
// GFX9: global_load_dword v1, v3, s[2:3] ; encoding: [0x00,0x80,0x50,0xdc,0x03,0x00,0x02,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v1, v3, s[2:3] offset:24
// GFX10: encoding: [0x18,0x80,0x30,0xdc,0x03,0x00,0x02,0x01]
// GFX9: global_load_dword v1, v3, s[2:3] offset:24 ; encoding: [0x18,0x80,0x50,0xdc,0x03,0x00,0x02,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v3, s[2:3] offset:-8
// GFX10: encoding: [0xf8,0x8f,0x30,0xdc,0x03,0x00,0x02,0x01]
// GFX9: global_load_dword v1, v3, s[2:3] offset:-8 ; encoding: [0xf8,0x9f,0x50,0xdc,0x03,0x00,0x02,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_store_dword v3, v1, s[2:3]
// GFX10: encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
// GFX9: global_store_dword v3, v1, s[2:3] ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_dword v3, v1, s[2:3] offset:24
// GFX10: encoding: [0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
// GFX9: global_store_dword v3, v1, s[2:3] offset:24 ; encoding: [0x18,0x80,0x70,0xdc,0x03,0x01,0x02,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_store_dword v3, v1, s[2:3] offset:-8
// GFX10: encoding: [0xf8,0x8f,0x70,0xdc,0x03,0x01,0x02,0x00]
// GFX9: global_store_dword v3, v1, s[2:3] offset:-8 ; encoding: [0xf8,0x9f,0x70,0xdc,0x03,0x01,0x02,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
// XXX: Is this valid?
global_store_dword v3, v1, exec
// GFX10: encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7e,0x00]
// GFX9: global_store_dword v3, v1, exec ; encoding: [0x00,0x80,0x70,0xdc,0x03,0x01,0x7e,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], s2
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: :31: error: invalid operand for instruction
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9-ERR: :[[@LINE-2]]:31: error: invalid operand for instruction
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_dword v1, v[3:4], exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: :31: error: invalid operand for instruction
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9-ERR: :[[@LINE-2]]:31: error: invalid operand for instruction
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0xc4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_cmpswap v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x04,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v[3:4], v[5:6], off glc
// GFX10: encoding: [0x00,0x80,0xc5,0xdc,0x03,0x05,0x7d,0x01]
// GFX9: global_atomic_cmpswap v1, v[3:4], v[5:6], off glc ; encoding: [0x00,0x80,0x05,0xdd,0x03,0x05,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v3, v[5:6], s[2:3] glc
// GFX10: encoding: [0x00,0x80,0xc5,0xdc,0x03,0x05,0x02,0x01]
// GFX9: global_atomic_cmpswap v1, v3, v[5:6], s[2:3] glc ; encoding: [0x00,0x80,0x05,0xdd,0x03,0x05,0x02,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v[2:3], v[4:5], off offset:-1 glc
// GCN: global_atomic_cmpswap v1, v[2:3], v[4:5], off offset:-1 glc ; encoding: [0xff,0x9f,0x05,0xdd,0x02,0x04,0x7f,0x01]
// GFX10: global_atomic_cmpswap v1, v[2:3], v[4:5], off offset:-1 glc ; encoding: [0xff,0x8f,0xc5,0xdc,0x02,0x04,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v[2:3], v[254:255], off offset:-1 glc
// GCN: global_atomic_cmpswap v1, v[2:3], v[254:255], off offset:-1 glc ; encoding: [0xff,0x9f,0x05,0xdd,0x02,0xfe,0x7f,0x01]
// GFX10: global_atomic_cmpswap v1, v[2:3], v[254:255], off offset:-1 glc ; encoding: [0xff,0x8f,0xc5,0xdc,0x02,0xfe,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v2, v[4:5], s[2:3] offset:-1 glc
// GCN: global_atomic_cmpswap v1, v2, v[4:5], s[2:3] offset:-1 glc ; encoding: [0xff,0x9f,0x05,0xdd,0x02,0x04,0x02,0x01]
// GFX10: global_atomic_cmpswap v1, v2, v[4:5], s[2:3] offset:-1 glc ; encoding: [0xff,0x8f,0xc5,0xdc,0x02,0x04,0x02,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v[2:3], v[4:5], off glc
// GCN: global_atomic_cmpswap v1, v[2:3], v[4:5], off glc ; encoding: [0x00,0x80,0x05,0xdd,0x02,0x04,0x7f,0x01]
// GFX10: global_atomic_cmpswap v1, v[2:3], v[4:5], off glc ; encoding: [0x00,0x80,0xc5,0xdc,0x02,0x04,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[5:6], v[7:10], off
// GFX10: encoding: [0x00,0x80,0x44,0xdd,0x05,0x07,0x7d,0x00]
// GFX9: global_atomic_cmpswap_x2 v[5:6], v[7:10], off ; encoding: [0x00,0x80,0x84,0xdd,0x05,0x07,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc
// GFX10: encoding: [0x00,0x80,0x45,0xdd,0x05,0x07,0x7d,0x01]
// GFX9: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc ; encoding: [0x00,0x80,0x85,0xdd,0x05,0x07,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v5, v[7:10], s[2:3] glc
// GFX10: encoding: [0x00,0x80,0x45,0xdd,0x05,0x07,0x02,0x01]
// GFX9: global_atomic_cmpswap_x2 v[1:2], v5, v[7:10], s[2:3] glc ; encoding: [0x00,0x80,0x85,0xdd,0x05,0x07,0x02,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off offset:-1 glc
// GCN: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off offset:-1 glc ; encoding: [0xff,0x9f,0x85,0xdd,0x05,0x07,0x7f,0x01]
// GFX10: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off offset:-1 glc ; encoding: [0xff,0x8f,0x45,0xdd,0x05,0x07,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v[5:6], v[252:255], off offset:-1 glc
// GCN: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[252:255], off offset:-1 glc ; encoding: [0xff,0x9f,0x85,0xdd,0x05,0xfc,0x7f,0x01]
// GFX10: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[252:255], off offset:-1 glc ; encoding: [0xff,0x8f,0x45,0xdd,0x05,0xfc,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v5, v[252:255], s[2:3] offset:-1 glc
// GCN: global_atomic_cmpswap_x2 v[1:2], v5, v[252:255], s[2:3] offset:-1 glc ; encoding: [0xff,0x9f,0x85,0xdd,0x05,0xfc,0x02,0x01]
// GFX10: global_atomic_cmpswap_x2 v[1:2], v5, v[252:255], s[2:3] offset:-1 glc ; encoding: [0xff,0x8f,0x45,0xdd,0x05,0xfc,0x02,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc
// GCN: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc ; encoding: [0x00,0x80,0x85,0xdd,0x05,0x07,0x7f,0x01]
// GFX10: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off glc ; encoding: [0x00,0x80,0x45,0xdd,0x05,0x07,0x7d,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_swap v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xc0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap v[3:4], v5, off ; encoding: [0x00,0x80,0x00,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_swap_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x40,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x80,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_add v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xc8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add v[3:4], v5, off ; encoding: [0x00,0x80,0x08,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_sub v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xcc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub v[3:4], v5, off ; encoding: [0x00,0x80,0x0c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_smin v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xd4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin v[3:4], v5, off ; encoding: [0x00,0x80,0x10,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_umin v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xd8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin v[3:4], v5, off ; encoding: [0x00,0x80,0x14,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_smax v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xdc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax v[3:4], v5, off ; encoding: [0x00,0x80,0x18,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_umax v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xe0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax v[3:4], v5, off ; encoding: [0x00,0x80,0x1c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_and v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xe4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and v[3:4], v5, off ; encoding: [0x00,0x80,0x20,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_or v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xe8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or v[3:4], v5, off ; encoding: [0x00,0x80,0x24,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_xor v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xec,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor v[3:4], v5, off ; encoding: [0x00,0x80,0x28,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_inc v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xf0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc v[3:4], v5, off ; encoding: [0x00,0x80,0x2c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_dec v[3:4], v5, off
// GFX10: encoding: [0x00,0x80,0xf4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec v[3:4], v5, off ; encoding: [0x00,0x80,0x30,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_add_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x48,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x88,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_sub_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x4c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x8c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_smin_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x54,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x90,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_umin_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x58,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x94,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_smax_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x5c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x98,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_umax_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x60,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0x9c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_and_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x64,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xa0,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_or_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x68,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xa4,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_xor_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x6c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xa8,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_inc_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x70,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xac,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_dec_x2 v[3:4], v[5:6], off
// GFX10: encoding: [0x00,0x80,0x74,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec_x2 v[3:4], v[5:6], off ; encoding: [0x00,0x80,0xb0,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_cmpswap v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_cmpswap v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x04,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v[3:4], v[5:6], off offset:-16 glc
// GFX10: encoding: [0xf0,0x8f,0xc5,0xdc,0x03,0x05,0x7d,0x01]
// GFX9: global_atomic_cmpswap v1, v[3:4], v[5:6], off offset:-16 glc ; encoding: [0xf0,0x9f,0x05,0xdd,0x03,0x05,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap v1, v3, v[5:6], s[2:3] offset:-16 glc
// GFX10: encoding: [0xf0,0x8f,0xc5,0xdc,0x03,0x05,0x02,0x01]
// GFX9: global_atomic_cmpswap v1, v3, v[5:6], s[2:3] offset:-16 glc ; encoding: [0xf0,0x9f,0x05,0xdd,0x03,0x05,0x02,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[5:6], v[7:10], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x44,0xdd,0x05,0x07,0x7d,0x00]
// GFX9: global_atomic_cmpswap_x2 v[5:6], v[7:10], off offset:-16 ; encoding: [0xf0,0x9f,0x84,0xdd,0x05,0x07,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off offset:-16 glc
// GFX10: encoding: [0xf0,0x8f,0x45,0xdd,0x05,0x07,0x7d,0x01]
// GFX9: global_atomic_cmpswap_x2 v[1:2], v[5:6], v[7:10], off offset:-16 glc ; encoding: [0xf0,0x9f,0x85,0xdd,0x05,0x07,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_cmpswap_x2 v[1:2], v5, v[7:10], s[2:3] offset:-16 glc
// GFX10: encoding: [0xf0,0x8f,0x45,0xdd,0x05,0x07,0x02,0x01]
// GFX9: global_atomic_cmpswap_x2 v[1:2], v5, v[7:10], s[2:3] offset:-16 glc ; encoding: [0xf0,0x9f,0x85,0xdd,0x05,0x07,0x02,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_swap v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x00,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_swap_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x40,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_swap_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x80,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_add v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xc8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x08,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_sub v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xcc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x0c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_smin v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xd4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x10,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_umin v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xd8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x14,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_smax v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xdc,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x18,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_umax v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x1c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_and v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x20,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_or v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xe8,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x24,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_xor v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xec,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x28,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_inc v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xf0,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x2c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_dec v[3:4], v5, off offset:-16
// GFX10: encoding: [0xf0,0x8f,0xf4,0xdc,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec v[3:4], v5, off offset:-16 ; encoding: [0xf0,0x9f,0x30,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_add_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x48,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_add_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x88,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_sub_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x4c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_sub_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x8c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_smin_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x54,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smin_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x90,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_umin_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x58,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umin_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x94,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_smax_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x5c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_smax_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x98,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_umax_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x60,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_umax_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0x9c,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_and_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x64,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_and_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa0,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_or_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x68,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_or_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa4,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_xor_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x6c,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_xor_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xa8,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_inc_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x70,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_inc_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xac,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_atomic_dec_x2 v[3:4], v[5:6], off offset:-16
// GFX10: encoding: [0xf0,0x8f,0x74,0xdd,0x03,0x05,0x7d,0x00]
// GFX9: global_atomic_dec_x2 v[3:4], v[5:6], off offset:-16 ; encoding: [0xf0,0x9f,0xb0,0xdd,0x03,0x05,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
global_load_ubyte_d16 v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x80,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_ubyte_d16 v1, v[3:4], off ; encoding: [0x00,0x80,0x80,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_ubyte_d16_hi v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x84,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_ubyte_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x84,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sbyte_d16 v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x88,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_sbyte_d16 v1, v[3:4], off ; encoding: [0x00,0x80,0x88,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_sbyte_d16_hi v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x8c,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_sbyte_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x8c,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_short_d16 v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x90,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_short_d16 v1, v[3:4], off ; encoding: [0x00,0x80,0x90,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_short_d16_hi v1, v[3:4], off
// GFX10: encoding: [0x00,0x80,0x94,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: global_load_short_d16_hi v1, v[3:4], off ; encoding: [0x00,0x80,0x94,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_byte_d16_hi v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x64,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_byte_d16_hi v[3:4], v1, off ; encoding: [0x00,0x80,0x64,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_store_short_d16_hi v[3:4], v1, off
// GFX10: encoding: [0x00,0x80,0x6c,0xdc,0x03,0x01,0x7d,0x00]
// GFX9: global_store_short_d16_hi v[3:4], v1, off ; encoding: [0x00,0x80,0x6c,0xdc,0x03,0x01,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_add v0, v[1:2], v2, off glc slc
// GFX10: global_atomic_add v0, v[1:2], v2, off glc slc ; encoding: [0x00,0x80,0xcb,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: global_atomic_add v0, v[1:2], v2, off glc slc ; encoding: [0x00,0x80,0x0b,0xdd,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -8,305 +8,305 @@
scratch_load_ubyte v1, v2, off
// GFX10: encoding: [0x00,0x40,0x20,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_ubyte v1, v2, off ; encoding: [0x00,0x40,0x40,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ubyte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x20,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte v1, v2, off
// GFX10: encoding: [0x00,0x40,0x24,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_sbyte v1, v2, off ; encoding: [0x00,0x40,0x44,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x24,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ushort v1, v2, off
// GFX10: encoding: [0x00,0x40,0x28,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_ushort v1, v2, off ; encoding: [0x00,0x40,0x48,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ushort v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x28,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sshort v1, v2, off
// GFX10: encoding: [0x00,0x40,0x2c,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_sshort v1, v2, off ; encoding: [0x00,0x40,0x4c,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sshort v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x2c,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_dword v1, v2, off ; encoding: [0x00,0x40,0x50,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx2 v[1:2], v3, off
// GFX10: encoding: [0x00,0x40,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9: scratch_load_dwordx2 v[1:2], v3, off ; encoding: [0x00,0x40,0x54,0xdc,0x03,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx2 v[1:2], v3, off dlc
// GFX10: encoding: [0x00,0x50,0x34,0xdc,0x03,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx3 v[1:3], v4, off
// GFX10: encoding: [0x00,0x40,0x3c,0xdc,0x04,0x00,0x7d,0x01]
// GFX9: scratch_load_dwordx3 v[1:3], v4, off ; encoding: [0x00,0x40,0x58,0xdc,0x04,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx3 v[1:3], v4, off dlc
// GFX10: encoding: [0x00,0x50,0x3c,0xdc,0x04,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx4 v[1:4], v5, off
// GFX10: encoding: [0x00,0x40,0x38,0xdc,0x05,0x00,0x7d,0x01]
// GFX9: scratch_load_dwordx4 v[1:4], v5, off ; encoding: [0x00,0x40,0x5c,0xdc,0x05,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx4 v[1:4], v5, off dlc
// GFX10: encoding: [0x00,0x50,0x38,0xdc,0x05,0x00,0x7d,0x01]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:0
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_dword v1, v2, off ; encoding: [0x00,0x40,0x50,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:4095
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v1, v2, off offset:4095 ; encoding: [0xff,0x4f,0x50,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-1
// GFX10: encoding: [0xff,0x4f,0x30,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_dword v1, v2, off offset:-1 ; encoding: [0xff,0x5f,0x50,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-4096
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v1, v2, off offset:-4096 ; encoding: [0x00,0x50,0x50,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:4096
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9-ERR: :32: error: expected a 13-bit signed offset
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:32: error: expected a 12-bit signed offset
// GFX9-ERR: :[[@LINE-2]]:32: error: expected a 13-bit signed offset
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v1, v2, off offset:-4097
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX9-ERR: :32: error: expected a 13-bit signed offset
// VI-ERR: :1: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:32: error: expected a 12-bit signed offset
// GFX9-ERR: :[[@LINE-2]]:32: error: expected a 13-bit signed offset
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v0, v1, off offset:-2049 glc slc
// GFX10-ERR: :32: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:32: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v0, v1, off offset:-2049 glc slc ; encoding: [0xff,0x57,0x53,0xdc,0x01,0x00,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v0, v1, off offset:-2048 glc slc
// GFX10: scratch_load_dword v0, v1, off offset:-2048 glc slc ; encoding: [0x00,0x48,0x33,0xdc,0x01,0x00,0x7d,0x00]
// GFX9: scratch_load_dword v0, v1, off offset:-2048 glc slc ; encoding: [0x00,0x58,0x53,0xdc,0x01,0x00,0x7f,0x00]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v255, off, s1 offset:2047
// GFX10: scratch_load_dword v255, off, s1 offset:2047 ; encoding: [0xff,0x47,0x30,0xdc,0x00,0x00,0x01,0xff]
// GFX9: scratch_load_dword v255, off, s1 offset:2047 ; encoding: [0xff,0x47,0x50,0xdc,0x00,0x00,0x01,0xff]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_load_dword v255, off, s0 offset:2048
// GFX10-ERR: :34: error: expected a 12-bit signed offset
// GFX10-ERR: :[[@LINE-1]]:34: error: expected a 12-bit signed offset
// GFX9: scratch_load_dword v255, off, s0 offset:2048 ; encoding: [0x00,0x48,0x50,0xdc,0x00,0x00,0x00,0xff]
// VI-ERR: :1: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:1: error: instruction not supported on this GPU
scratch_store_byte v1, v2, off
// GFX10: encoding: [0x00,0x40,0x60,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_byte v1, v2, off ; encoding: [0x00,0x40,0x60,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_byte v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x60,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_short v1, v2, off
// GFX10: encoding: [0x00,0x40,0x68,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_short v1, v2, off ; encoding: [0x00,0x40,0x68,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_short v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x68,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword v1, v2, off
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dword v1, v2, off ; encoding: [0x00,0x40,0x70,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword v1, v2, off dlc
// GFX10: encoding: [0x00,0x50,0x70,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx2 v1, v[2:3], off
// GFX10: encoding: [0x00,0x40,0x74,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dwordx2 v1, v[2:3], off ; encoding: [0x00,0x40,0x74,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx2 v1, v[2:3], off dlc
// GFX10: encoding: [0x00,0x50,0x74,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx3 v1, v[2:4], off
// GFX10: encoding: [0x00,0x40,0x7c,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dwordx3 v1, v[2:4], off ; encoding: [0x00,0x40,0x78,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx3 v1, v[2:4], off dlc
// GFX10: encoding: [0x00,0x50,0x7c,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx4 v1, v[2:5], off
// GFX10: encoding: [0x00,0x40,0x78,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dwordx4 v1, v[2:5], off ; encoding: [0x00,0x40,0x7c,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx4 v1, v[2:5], off dlc
// GFX10: encoding: [0x00,0x50,0x78,0xdc,0x01,0x02,0x7d,0x00]
// GFX9-ERR: error: dlc modifier is not supported on this GPU
// VI-ERR: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword v1, v2, off offset:12
// GFX10: encoding: [0x0c,0x40,0x70,0xdc,0x01,0x02,0x7d,0x00]
// GFX9: scratch_store_dword v1, v2, off offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x01,0x02,0x7f,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, s1
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
// GFX9: scratch_load_dword v1, off, s1 ; encoding: [0x00,0x40,0x50,0xdc,0x00,0x00,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, s1 offset:32
// GFX10: encoding: [0x20,0x40,0x30,0xdc,0x00,0x00,0x01,0x01]
// GFX9: scratch_load_dword v1, off, s1 offset:32 ; encoding: [0x20,0x40,0x50,0xdc,0x00,0x00,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, s1
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
// GFX9: scratch_store_dword off, v2, s1 ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, s1 offset:12
// GFX10: encoding: [0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
// GFX9: scratch_store_dword off, v2, s1 offset:12 ; encoding: [0x0c,0x40,0x70,0xdc,0x00,0x02,0x01,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// FIXME: Should error about multiple offsets
scratch_load_dword v1, v2, s1
// GFX10-ERR: error: operands are not valid for this GPU or mode
// GFX9-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, v2, s1 offset:32
// GFX10-ERR: error: operands are not valid for this GPU or mode
// GFX9-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword v1, v2, s1
// GFX10-ERR: error: operands are not valid for this GPU or mode
// GFX9-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword v1, v2, s1 offset:32
// GFX10-ERR: error: operands are not valid for this GPU or mode
// GFX9-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, exec_hi
// GFX10-ERR: error: invalid operand for instruction
// GFX9-ERR: error: invalid operand for instruction
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, exec_lo
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7e,0x01]
// GFX9: scratch_load_dword v1, off, exec_lo ; encoding: [0x00,0x40,0x50,0xdc,0x00,0x00,0x7e,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, exec_lo
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7e,0x00]
// GFX9: scratch_store_dword off, v2, exec_lo ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7e,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, m0
// GFX10: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7c,0x01]
// GFX9: scratch_load_dword v1, off, m0 ; encoding: [0x00,0x40,0x50,0xdc,0x00,0x00,0x7c,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, m0
// GFX10: encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7c,0x00]
// GFX9: scratch_store_dword off, v2, m0 ; encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7c,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ubyte_d16 v1, v2, off
// GFX10: encoding: [0x00,0x40,0x80,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_ubyte_d16 v1, v2, off ; encoding: [0x00,0x40,0x80,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ubyte_d16_hi v1, v2, off
// GFX10: encoding: [0x00,0x40,0x84,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_ubyte_d16_hi v1, v2, off ; encoding: [0x00,0x40,0x84,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte_d16 v1, v2, off
// GFX10: encoding: [0x00,0x40,0x88,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_sbyte_d16 v1, v2, off ; encoding: [0x00,0x40,0x88,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte_d16_hi v1, v2, off
// GFX10: encoding: [0x00,0x40,0x8c,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_sbyte_d16_hi v1, v2, off ; encoding: [0x00,0x40,0x8c,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_short_d16 v1, v2, off
// GFX10: encoding: [0x00,0x40,0x90,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_short_d16 v1, v2, off ; encoding: [0x00,0x40,0x90,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_short_d16_hi v1, v2, off
// GFX10: encoding: [0x00,0x40,0x94,0xdc,0x02,0x00,0x7d,0x01]
// GFX9: scratch_load_short_d16_hi v1, v2, off ; encoding: [0x00,0x40,0x94,0xdc,0x02,0x00,0x7f,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_byte_d16_hi off, v2, s1
// GFX10: encoding: [0x00,0x40,0x64,0xdc,0x00,0x02,0x01,0x00]
// GFX9: scratch_store_byte_d16_hi off, v2, s1 ; encoding: [0x00,0x40,0x64,0xdc,0x00,0x02,0x01,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_short_d16_hi off, v2, s1
// GFX10: encoding: [0x00,0x40,0x6c,0xdc,0x00,0x02,0x01,0x00]
// GFX9: scratch_store_short_d16_hi off, v2, s1 ; encoding: [0x00,0x40,0x6c,0xdc,0x00,0x02,0x01,0x00]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -5,121 +5,121 @@
scratch_load_ubyte v1, off, off
// GFX1030: encoding: [0x00,0x40,0x20,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte v1, off, off
// GFX1030: encoding: [0x00,0x40,0x24,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ushort v1, off, off
// GFX1030: encoding: [0x00,0x40,0x28,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sshort v1, off, off
// GFX1030: encoding: [0x00,0x40,0x2c,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, off
// GFX1030: encoding: [0x00,0x40,0x30,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx2 v[1:2], off, off
// GFX1030: encoding: [0x00,0x40,0x34,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx3 v[1:3], off, off
// GFX1030: encoding: [0x00,0x40,0x3c,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dwordx4 v[1:4], off, off
// GFX1030: encoding: [0x00,0x40,0x38,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_dword v1, off, off offset:2047
// GFX1030: scratch_load_dword v1, off, off offset:2047 ; encoding: [0xff,0x47,0x30,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_byte off, v2, off
// GFX1030: encoding: [0x00,0x40,0x60,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_short off, v2, off
// GFX1030: encoding: [0x00,0x40,0x68,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, off
// GFX1030: encoding: [0x00,0x40,0x70,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx2 off, v[2:3], off
// GFX1030: encoding: [0x00,0x40,0x74,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx3 off, v[2:4], off
// GFX1030: encoding: [0x00,0x40,0x7c,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dwordx4 off, v[2:5], off
// GFX1030: encoding: [0x00,0x40,0x78,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_dword off, v2, off offset:2047
// GFX1030: scratch_store_dword off, v2, off offset:2047 ; encoding: [0xff,0x47,0x70,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ubyte_d16 v1, off, off
// GFX1030: encoding: [0x00,0x40,0x80,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_ubyte_d16_hi v1, off, off
// GFX1030: encoding: [0x00,0x40,0x84,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte_d16 v1, off, off
// GFX1030: encoding: [0x00,0x40,0x88,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_sbyte_d16_hi v1, off, off
// GFX1030: encoding: [0x00,0x40,0x8c,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_short_d16 v1, off, off
// GFX1030: encoding: [0x00,0x40,0x90,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_short_d16_hi v1, off, off
// GFX1030: encoding: [0x00,0x40,0x94,0xdc,0x00,0x00,0x7f,0x01]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_byte_d16_hi off, v2, off
// GFX1030: encoding: [0x00,0x40,0x64,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_store_short_d16_hi off, v2, off
// GFX1030: encoding: [0x00,0x40,0x6c,0xdc,0x00,0x02,0x7f,0x00]
// GFX9_10-ERR: error: operands are not valid for this GPU or mode
// VI-ERR: error: instruction not supported on this GPU
// GFX9_10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// VI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -5,32 +5,32 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga -show-encoding %s | FileCheck -check-prefix=VI %s
s_mov_b64 flat_scratch, -1
// NOSI: error: register not available on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// CI: s_mov_b64 flat_scratch, -1 ; encoding: [0xc1,0x04,0xe8,0xbe]
// VI: s_mov_b64 flat_scratch, -1 ; encoding: [0xc1,0x01,0xe6,0xbe]
s_mov_b32 flat_scratch_lo, -1
// NOSI: error: register not available on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// CI: s_mov_b32 flat_scratch_lo, -1 ; encoding: [0xc1,0x03,0xe8,0xbe]
// VI: s_mov_b32 flat_scratch_lo, -1 ; encoding: [0xc1,0x00,0xe6,0xbe]
s_mov_b32 flat_scratch_hi, -1
// NOSI: error: register not available on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// CI: s_mov_b32 flat_scratch_hi, -1 ; encoding: [0xc1,0x03,0xe9,0xbe]
// VI: s_mov_b32 flat_scratch_hi, -1 ; encoding: [0xc1,0x00,0xe7,0xbe]
s_mov_b64 flat_scratch_lo, -1
// NOSI: error: register not available on this GPU
// NOCI: error: invalid operand for instruction
// NOVI: error: invalid operand for instruction
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64 flat_scratch_hi, -1
// NOSI: error: register not available on this GPU
// NOCI: error: invalid operand for instruction
// NOVI: error: invalid operand for instruction
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 flat_scratch, -1
// NOSI: error: register not available on this GPU
// NOCI: error: invalid operand for instruction
// NOVI: error: invalid operand for instruction
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -10,35 +10,35 @@
//===----------------------------------------------------------------------===//
flat_load_dword v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x50,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x31,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] glc ; encoding: [0x00,0x00,0x51,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4] glc slc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x33,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] glc slc ; encoding: [0x00,0x00,0x53,0xdc,0x03,0x00,0x00,0x01]
flat_store_dword v[3:4], v1
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 glc ; encoding: [0x00,0x00,0x71,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 glc slc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 glc slc ; encoding: [0x00,0x00,0x73,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1 slc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 slc ; encoding: [0x00,0x00,0x72,0xdc,0x03,0x01,0x00,0x00]
// FIXME: For atomic instructions, glc must be placed immediately following
@ -47,12 +47,12 @@ flat_store_dword v[3:4], v1 slc
// flat_atomic_add v1, v[3:4], v5 slc glc
flat_atomic_add v1, v[3:4], v5 offset:0 glc slc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add v1, v[3:4], v5 glc slc ; encoding: [0x00,0x00,0xcb,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_add v1, v[3:4], v5 glc slc ; encoding: [0x00,0x00,0x0b,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_add v[3:4], v5 slc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add v[3:4], v5 slc ; encoding: [0x00,0x00,0xca,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_add v[3:4], v5 slc ; encoding: [0x00,0x00,0x0a,0xdd,0x03,0x05,0x00,0x00]
@ -61,367 +61,367 @@ flat_atomic_add v[3:4], v5 slc
//===----------------------------------------------------------------------===//
flat_load_ubyte v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_ubyte v1, v[3:4] ; encoding: [0x00,0x00,0x20,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_ubyte v1, v[3:4] ; encoding: [0x00,0x00,0x40,0xdc,0x03,0x00,0x00,0x01]
flat_load_sbyte v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_sbyte v1, v[3:4] ; encoding: [0x00,0x00,0x24,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_sbyte v1, v[3:4] ; encoding: [0x00,0x00,0x44,0xdc,0x03,0x00,0x00,0x01]
flat_load_ushort v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_ushort v1, v[3:4] ; encoding: [0x00,0x00,0x28,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_ushort v1, v[3:4] ; encoding: [0x00,0x00,0x48,0xdc,0x03,0x00,0x00,0x01]
flat_load_sshort v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_sshort v1, v[3:4] ; encoding: [0x00,0x00,0x2c,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_sshort v1, v[3:4] ; encoding: [0x00,0x00,0x4c,0xdc,0x03,0x00,0x00,0x01]
flat_load_dword v1, v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x30,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dword v1, v[3:4] ; encoding: [0x00,0x00,0x50,0xdc,0x03,0x00,0x00,0x01]
flat_load_dwordx2 v[1:2], v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dwordx2 v[1:2], v[3:4] ; encoding: [0x00,0x00,0x34,0xdc,0x03,0x00,0x00,0x01]
// VI: flat_load_dwordx2 v[1:2], v[3:4] ; encoding: [0x00,0x00,0x54,0xdc,0x03,0x00,0x00,0x01]
flat_load_dwordx4 v[5:8], v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dwordx4 v[5:8], v[3:4] ; encoding: [0x00,0x00,0x38,0xdc,0x03,0x00,0x00,0x05]
// VI: flat_load_dwordx4 v[5:8], v[3:4] ; encoding: [0x00,0x00,0x5c,0xdc,0x03,0x00,0x00,0x05]
flat_load_dwordx3 v[5:7], v[3:4]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_load_dwordx3 v[5:7], v[3:4] ; encoding: [0x00,0x00,0x3c,0xdc,0x03,0x00,0x00,0x05]
// VI: flat_load_dwordx3 v[5:7], v[3:4] ; encoding: [0x00,0x00,0x58,0xdc,0x03,0x00,0x00,0x05]
flat_store_byte v[3:4], v1
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_byte v[3:4], v1 ; encoding: [0x00,0x00,0x60,0xdc,0x03,0x01,0x00,0x00]
flat_store_short v[3:4], v1
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_short v[3:4], v1 ; encoding: [0x00,0x00,0x68,0xdc,0x03,0x01,0x00,0x00]
flat_store_dword v[3:4], v1
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dword v[3:4], v1 ; encoding: [0x00,0x00,0x70,0xdc,0x03,0x01,0x00,0x00]
flat_store_dwordx2 v[3:4], v[1:2]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CIVI: flat_store_dwordx2 v[3:4], v[1:2] ; encoding: [0x00,0x00,0x74,0xdc,0x03,0x01,0x00,0x00]
flat_store_dwordx4 v[3:4], v[5:8]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_store_dwordx4 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x78,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_store_dwordx4 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x7c,0xdc,0x03,0x05,0x00,0x00]
flat_store_dwordx3 v[3:4], v[5:7]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_store_dwordx3 v[3:4], v[5:7] ; encoding: [0x00,0x00,0x7c,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_store_dwordx3 v[3:4], v[5:7] ; encoding: [0x00,0x00,0x78,0xdc,0x03,0x05,0x00,0x00]
flat_atomic_swap v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_swap v[3:4], v5 ; encoding: [0x00,0x00,0xc0,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_swap v[3:4], v5 ; encoding: [0x00,0x00,0x00,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_swap v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_swap v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xc1,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_swap v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x01,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_cmpswap v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_cmpswap v[3:4], v[5:6] ; encoding: [0x00,0x00,0xc4,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_cmpswap v[3:4], v[5:6] ; encoding: [0x00,0x00,0x04,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_cmpswap v1, v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_cmpswap v1, v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xc5,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_cmpswap v1, v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x05,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_add v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add v[3:4], v5 ; encoding: [0x00,0x00,0xc8,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_add v[3:4], v5 ; encoding: [0x00,0x00,0x08,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_add v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xc9,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_add v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x09,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_sub v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_sub v[3:4], v5 ; encoding: [0x00,0x00,0xcc,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_sub v[3:4], v5 ; encoding: [0x00,0x00,0x0c,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_sub v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_sub v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xcd,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_sub v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x0d,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_smin v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smin v[3:4], v5 ; encoding: [0x00,0x00,0xd4,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_smin v[3:4], v5 ; encoding: [0x00,0x00,0x10,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_smin v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xd5,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_smin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x11,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_umin v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umin v[3:4], v5 ; encoding: [0x00,0x00,0xd8,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_umin v[3:4], v5 ; encoding: [0x00,0x00,0x14,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_umin v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xd9,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_umin v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x15,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_smax v[3:4], v5,
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smax v[3:4], v5 ; encoding: [0x00,0x00,0xdc,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_smax v[3:4], v5 ; encoding: [0x00,0x00,0x18,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_smax v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xdd,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_smax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x19,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_umax v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umax v[3:4], v5 ; encoding: [0x00,0x00,0xe0,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_umax v[3:4], v5 ; encoding: [0x00,0x00,0x1c,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_umax v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe1,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_umax v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x1d,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_and v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_and v[3:4], v5 ; encoding: [0x00,0x00,0xe4,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_and v[3:4], v5 ; encoding: [0x00,0x00,0x20,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_and v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_and v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe5,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_and v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x21,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_or v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_or v[3:4], v5 ; encoding: [0x00,0x00,0xe8,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_or v[3:4], v5 ; encoding: [0x00,0x00,0x24,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_or v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_or v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xe9,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_or v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x25,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_xor v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_xor v[3:4], v5 ; encoding: [0x00,0x00,0xec,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_xor v[3:4], v5 ; encoding: [0x00,0x00,0x28,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_xor v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_xor v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xed,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_xor v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x29,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_inc v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_inc v[3:4], v5 ; encoding: [0x00,0x00,0xf0,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_inc v[3:4], v5 ; encoding: [0x00,0x00,0x2c,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_inc v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_inc v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xf1,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_inc v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x2d,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_dec v[3:4], v5
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_dec v[3:4], v5 ; encoding: [0x00,0x00,0xf4,0xdc,0x03,0x05,0x00,0x00]
// VI: flat_atomic_dec v[3:4], v5 ; encoding: [0x00,0x00,0x30,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_dec v1, v[3:4], v5 glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_dec v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0xf5,0xdc,0x03,0x05,0x00,0x01]
// VI: flat_atomic_dec v1, v[3:4], v5 glc ; encoding: [0x00,0x00,0x31,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_fcmpswap v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fcmpswap v[3:4], v[5:6] ; encoding: [0x00,0x00,0xf8,0xdc,0x03,0x05,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fcmpswap v1, v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fcmpswap v1, v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xf9,0xdc,0x03,0x05,0x00,0x01]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_swap_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_swap_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x40,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_swap_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x80,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_swap_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_swap_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x41,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_swap_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x81,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_cmpswap_x2 v[3:4], v[5:8]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_cmpswap_x2 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x44,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_cmpswap_x2 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x84,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_cmpswap_x2 v[1:2], v[3:4], v[5:8] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_cmpswap_x2 v[1:2], v[3:4], v[5:8] glc ; encoding: [0x00,0x00,0x45,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_cmpswap_x2 v[1:2], v[3:4], v[5:8] glc ; encoding: [0x00,0x00,0x85,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_add_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x48,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_add_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x88,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_add_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_add_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x49,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_add_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x89,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_sub_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_sub_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x4c,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_sub_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x8c,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_sub_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_sub_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x4d,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_sub_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x8d,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_smin_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x54,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_smin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x90,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_smin_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x55,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_smin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x91,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_umin_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x58,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_umin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x94,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_umin_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x59,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_umin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x95,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_smax_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x5c,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_smax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x98,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_smax_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_smax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x5d,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_smax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x99,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_umax_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x60,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_umax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x9c,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_umax_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_umax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x61,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_umax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x9d,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_and_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_and_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x64,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_and_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0xa0,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_and_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_and_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x65,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_and_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xa1,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_or_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_or_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x68,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_or_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0xa4,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_or_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_or_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x69,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_or_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xa5,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_xor_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_xor_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x6c,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_xor_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0xa8,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_xor_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_xor_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x6d,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_xor_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xa9,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_inc_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_inc_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x70,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_inc_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0xac,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_inc_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_inc_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x71,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_inc_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xad,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_dec_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_dec_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x74,0xdd,0x03,0x05,0x00,0x00]
// VI: flat_atomic_dec_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0xb0,0xdd,0x03,0x05,0x00,0x00]
flat_atomic_dec_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_dec_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x75,0xdd,0x03,0x05,0x00,0x01]
// VI: flat_atomic_dec_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0xb1,0xdd,0x03,0x05,0x00,0x01]
flat_atomic_fcmpswap_x2 v[3:4], v[5:8]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fcmpswap_x2 v[3:4], v[5:8] ; encoding: [0x00,0x00,0x78,0xdd,0x03,0x05,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fcmpswap_x2 v[1:2], v[3:4], v[5:8] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fcmpswap_x2 v[1:2], v[3:4], v[5:8] glc ; encoding: [0x00,0x00,0x79,0xdd,0x03,0x05,0x00,0x01]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fmin_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fmin_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x7c,0xdd,0x03,0x05,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fmin_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fmin_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x7d,0xdd,0x03,0x05,0x00,0x01]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fmax_x2 v[3:4], v[5:6]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fmax_x2 v[3:4], v[5:6] ; encoding: [0x00,0x00,0x80,0xdd,0x03,0x05,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_atomic_fmax_x2 v[1:2], v[3:4], v[5:6] glc
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: flat_atomic_fmax_x2 v[1:2], v[3:4], v[5:6] glc ; encoding: [0x00,0x00,0x81,0xdd,0x03,0x05,0x00,0x01]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -4,15 +4,15 @@
v_fma_mix_f32 v0, v1, v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, v1, v2, v3
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa1,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, v1, v2, v3
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa2,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//
// Regular source modifiers on non-packed instructions
@ -20,55 +20,55 @@ v_fma_mixhi_f16 v0, v1, v2, v3
v_fma_mix_f32 v0, abs(v1), v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, |v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, abs(v2), v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, |v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, abs(v3)
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, |v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, -v1, v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, -v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x24]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, -v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, -v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, -v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, -v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x84]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, -abs(v1), v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, -|v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x24]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, -abs(v2), v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, -|v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, -abs(v3)
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, -|v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x84]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, abs(v1), -v2, abs(v3)
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, |v1|, -v2, |v3| ; encoding: [0x00,0x05,0xa1,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, -v1, |v2|, -|v3| ; encoding: [0x00,0x06,0xa2,0xd3,0x01,0x05,0x0e,0xa4]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, v1, v2, v3 clamp
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa1,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, v1, v2, v3 clamp
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa2,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//
// op_sel with non-packed instructions
@ -76,48 +76,48 @@ v_fma_mixhi_f16 v0, v1, v2, v3 clamp
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0] ; encoding: [0x00,0x08,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0] ; encoding: [0x00,0x10,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x00,0x20,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1] ; encoding: [0x00,0x38,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x14]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1]
// GFX9-FMAMIX: v_fma_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x1c]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-FMAMIX: v_fma_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa1,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fma_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-FMAMIX: v_fma_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa2,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-MADMIX-ERR: error: instruction not supported on this GPU
// GFX9-MADMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -11,7 +11,7 @@ v_add_f32 v0, s0, s1
v_madak_f32 v0, s0, v1, 42.42
// GFX10: v_madak_f32 v0, s0, v1, 0x4229ae14 ; encoding: [0x00,0x02,0x00,0x42,0x14,0xae,0x29,0x42]
// GFX11-ERR: error: instruction not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_med3_f32 v0, s0, s0, s1
// GFX10: v_med3_f32 v0, s0, s0, s1 ; encoding: [0x00,0x00,0x57,0xd5,0x00,0x00,0x04,0x00]
@ -21,10 +21,10 @@ v_med3_f32 v0, s0, s0, s1
// 64-bit shift instructions can use only one scalar value input
v_ashrrev_i64 v[0:1], 0x100, s[0:1]
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_ashrrev_i64 v[0:1], s2, s[0:1]
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//-----------------------------------------------------------------------------------------
// v_div_fmas implicitly reads VCC, so only one scalar operand is possible
@ -34,10 +34,10 @@ v_div_fmas_f32 v5, s3, s3, s3
// GFX11: v_div_fmas_f32 v5, s3, s3, s3 ; encoding: [0x05,0x00,0x37,0xd6,0x03,0x06,0x0c,0x00]
v_div_fmas_f32 v5, s3, s3, s2
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v5, s3, 0x123, v3
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[5:6], 0x12345678, 0x12345678, 0x12345678
// GFX10: v_div_fmas_f64 v[5:6], 0x12345678, 0x12345678, 0x12345678 ; encoding: [0x05,0x00,0x70,0xd5,0xff,0xfe,0xfd,0x03,0x78,0x56,0x34,0x12]
@ -48,21 +48,21 @@ v_div_fmas_f64 v[5:6], v[1:2], s[2:3], v[3:4]
// GFX11: v_div_fmas_f64 v[5:6], v[1:2], s[2:3], v[3:4] ; encoding: [0x05,0x00,0x38,0xd6,0x01,0x05,0x0c,0x04]
v_div_fmas_f64 v[5:6], v[1:2], s[2:3], 0x123456
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//-----------------------------------------------------------------------------------------
// v_mad_u64_u32 has operands of different sizes.
// When these operands are literals, they are counted as 2 scalar values even if literals are identical.
v_lshlrev_b64 v[5:6], 0x3f717273, 0x3f717273
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_mad_u64_u32 v[5:6], s12, v1, 0x12345678, 0x12345678
// GFX10: v_mad_u64_u32 v[5:6], s12, v1, 0x12345678, 0x12345678 ; encoding: [0x05,0x0c,0x76,0xd5,0x01,0xff,0xfd,0x03,0x78,0x56,0x34,0x12]
// GFX11: v_mad_u64_u32 v[5:6], s12, v1, 0x12345678, 0x12345678 ; encoding: [0x05,0x0c,0xfe,0xd6,0x01,0xff,0xfd,0x03,0x78,0x56,0x34,0x12]
v_mad_u64_u32 v[5:6], s12, s1, 0x12345678, 0x12345678
// GCN-ERR: error: invalid operand (violates constant bus restrictions)
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//-----------------------------------------------------------------------------------------
// null is free

View File

@ -2,52 +2,52 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1012 %s 2>&1 | FileCheck --check-prefix=GFX10 --implicit-check-not=error: %s
v_dot8c_i32_i4 v5, v1, v2
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_dot8c_i32_i4 v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_getreg_b32 s2, hwreg(HW_REG_SHADER_CYCLES)
// GFX10: error: specified hardware register is not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
v_fma_legacy_f32 v0, v1, v2, v3
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_fmac_legacy_f32 v0, v1, v2
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_bvh_intersect_ray v[4:7], v[9:24], s[4:7]
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_bvh_intersect_ray v[4:7], v[9:16], s[4:7] a16
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7]
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_bvh64_intersect_ray v[4:7], v[9:24], s[4:7] a16
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D glc
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_msaa_load v5, v[1:2], s[8:15] dmask:0x1 dim:SQ_RSRC_IMG_2D d16
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_msaa_load v[1:4], v5, s[8:15] dmask:0xf dim:SQ_RSRC_IMG_1D
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_msaa_load v14, [v204,v11,v14,v19], s[40:47] dmask:0x1 dim:SQ_RSRC_IMG_2D_MSAA_ARRAY
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -320,27 +320,27 @@ v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W32: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W32: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W32: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W64: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x00,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W64: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x00,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// W64: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x00,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0
// GFX10: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x00,0x00]
@ -608,27 +608,27 @@ v_mac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W32: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x04,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W32: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x04,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W32: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x04,0x00]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W64: [0xfa,0x04,0x0a,0x50,0x01,0x1b,0x04,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W64: [0xfa,0x04,0x0a,0x52,0x01,0x1b,0x04,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// W64: [0xfa,0x04,0x0a,0x54,0x01,0x1b,0x04,0x00]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 fi:1
// GFX10: [0xfa,0x04,0x0a,0x56,0x01,0x1b,0x04,0x00]

View File

@ -506,19 +506,19 @@ v_ldexp_f16_dpp v5, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
v_cndmask_b32_dpp v0, v1, v2, vcc_lo dpp8:[7,6,5,4,3,2,1,0]
// W32: v_cndmask_b32_dpp v0, v1, v2, vcc_lo dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xe9,0x04,0x00,0x02,0x01,0x77,0x39,0x05]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cndmask_b32_dpp v0, v1, v2, vcc_lo dpp8:[0,1,2,3,4,5,6,7] fi:1
// W32: v_cndmask_b32_dpp v0, v1, v2, vcc_lo dpp8:[0,1,2,3,4,5,6,7] fi:1 ; encoding: [0xea,0x04,0x00,0x02,0x01,0x88,0xc6,0xfa]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cndmask_b32_dpp v0, v1, v2, vcc dpp8:[7,6,5,4,3,2,1,0]
// W64: v_cndmask_b32_dpp v0, v1, v2, vcc dpp8:[7,6,5,4,3,2,1,0] ; encoding: [0xe9,0x04,0x00,0x02,0x01,0x77,0x39,0x05]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cndmask_b32_dpp v0, v1, v2, vcc dpp8:[0,1,2,3,4,5,6,7] fi:1
// W64: v_cndmask_b32_dpp v0, v1, v2, vcc dpp8:[0,1,2,3,4,5,6,7] fi:1 ; encoding: [0xea,0x04,0x00,0x02,0x01,0x88,0xc6,0xfa]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cndmask_b32_dpp v0, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
// W32: v_cndmask_b32_dpp v0, v1, v2, vcc_lo dpp8:[0,1,2,3,4,5,6,7] fi:1 ; encoding: [0xea,0x04,0x00,0x02,0x01,0x88,0xc6,0xfa]
@ -526,27 +526,27 @@ v_cndmask_b32_dpp v0, v1, v2 dpp8:[0,1,2,3,4,5,6,7] fi:1
v_add_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0]
// W32: [0xe9,0x00,0x00,0x50,0x00,0x77,0x39,0x05]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0] fi:0
// W32: [0xe9,0x00,0x00,0x52,0x00,0x77,0x39,0x05]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v0, vcc_lo, v0, v0, vcc_lo dpp8:[7,6,5,4,3,2,1,0] fi:1
// W32: [0xea,0x00,0x00,0x54,0x00,0x77,0x39,0x05]
// W64-ERR: error: operands are not valid for this GPU or mode
// W64-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
// W64: [0xea,0x00,0x00,0x50,0x00,0x77,0x39,0x05]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0] fi:1
// W64: [0xea,0x00,0x00,0x52,0x00,0x77,0x39,0x05]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_co_ci_u32_dpp v0, vcc, v0, v0, vcc dpp8:[7,6,5,4,3,2,1,0]
// W64: [0xe9,0x00,0x00,0x54,0x00,0x77,0x39,0x05]
// W32-ERR: error: operands are not valid for this GPU or mode
// W32-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_nc_u32_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX10: [0xe9,0xfe,0x0b,0x4a,0x01,0x77,0x39,0x05]

View File

@ -12,51 +12,51 @@
// GFX9+.
ds_write_b8_d16_hi v1, v2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_write_b16_d16_hi v1, v2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u8_d16 v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u8_d16_hi v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_i8_d16 v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_i8_d16_hi v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u16_d16 v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_u16_d16_hi v5, v1
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_write_addtid_b32 v5
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_read_addtid_b32 v5
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8+.
ds_add_src2_f32 v1
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_add_f32 v0, v1
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_add_rtn_f32 v0, v1, v2
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_permute_b32 v0, v1, v2
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_bpermute_b32 v0, v1, v2
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// ENC_SOP1.
@ -65,71 +65,71 @@ ds_bpermute_b32 v0, v1, v2
// GFX10+.
s_and_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_or_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_xor_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn2_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_orn2_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_nand_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_nor_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_xnor_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn1_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_orn1_saveexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn1_wrexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn2_wrexec_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_movrelsd_2_b32 s0, s1
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9+.
s_andn1_saveexec_b64 s[0:1], s[2:3]
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_orn1_saveexec_b64 s[0:1], s[2:3]
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn1_wrexec_b64 s[0:1], s[2:3]
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn2_wrexec_b64 s[0:1], s[2:3]
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_bitreplicate_b64_b32 s[0:1], s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8, GFX9.
s_set_gpr_idx_idx s0
// GFX10: error: instruction not supported on this GPU
// GFX6-7: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6, GFX7, GFX8, GFX9.
s_cbranch_join s0
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// ENC_SOP2.
@ -138,42 +138,42 @@ s_cbranch_join s0
// GFX9+.
s_lshl1_add_u32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_lshl2_add_u32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_lshl3_add_u32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_lshl4_add_u32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_mul_hi_u32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_mul_hi_i32 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_pack_ll_b32_b16 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_pack_lh_b32_b16 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_pack_hh_b32_b16 s0, s1, s2
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8, GFX9.
s_rfe_restore_b64 s[0:1], s2
// GFX10: error: instruction not supported on this GPU
// GFX6-7: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6, GFX7, GFX8, GFX9.
s_cbranch_g_fork s[0:1], s[2:3]
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// ENC_SOPC.
@ -182,15 +182,15 @@ s_cbranch_g_fork s[0:1], s[2:3]
// GFX8+.
s_cmp_eq_u64 s[0:1], s[2:3]
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cmp_lg_u64 s[0:1], s[2:3]
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6, GFX7, GFX8, GFX9.
s_setvskip s0, s1
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// ENC_SOPK.
@ -199,35 +199,35 @@ s_setvskip s0, s1
// GFX10+.
s_version 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_vscnt s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_vmcnt s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_expcnt s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_lgkmcnt s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_subvector_loop_begin s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_subvector_loop_end s0, 0x1234
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9+.
s_call_b64 s[0:1], 0x1234
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX6, GFX7, GFX8, GFX9.
s_cbranch_i_fork s[0:1], 0x1234
// GFX10: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// ENC_SOPP.
@ -236,84 +236,84 @@ s_cbranch_i_fork s[0:1], 0x1234
// GFX10+.
s_code_end
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_inst_prefetch 0x0
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_clause 0x0
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_round_mode 0x0
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_denorm_mode 0x0
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_ttracedata_imm 0x0
// GFX6-9: error: instruction not supported on this GPU
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9+.
s_endpgm_ordered_ps_done
// GFX6-8: error: instruction not supported on this GPU
// GFX6-8: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8+.
s_wakeup
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_endpgm_saved
// GFX6-7: error: instruction not supported on this GPU
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// DPP8.
//===----------------------------------------------------------------------===//
v_mov_b32_dpp v5, v1 dpp8:[0,1,2,3,4,5,6,7]
// GFX6-7: error: dpp variant of this instruction is not supported
// GFX8-9: error: not a valid operand
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported
// GFX8-9: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand
//===----------------------------------------------------------------------===//
// VOP2
//===----------------------------------------------------------------------===//
v_fmaak_f32 v0, 0xff32ff, v0, 0x11213141
// GFX6-9: error: instruction not supported on this GPU
// GFX10: error: only one unique literal operand is allowed
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_fmamk_f32 v0, 0xff32ff, 0x11213141, v0
// GFX6-9: error: instruction not supported on this GPU
// GFX10: error: only one unique literal operand is allowed
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_fmaak_f32 v0, 0xff32, v0, 0x1122
// GFX6-9: error: instruction not supported on this GPU
// GFX10: error: only one unique literal operand is allowed
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_fmamk_f32 v0, 0xff32, 0x1122, v0
// GFX6-9: error: instruction not supported on this GPU
// GFX10: error: only one unique literal operand is allowed
// GFX6-9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
//===----------------------------------------------------------------------===//
// VOP2 E64.
//===----------------------------------------------------------------------===//
v_add_co_ci_u32 v5, 0, v1, v2, vcc
// GFX6-7: error: instruction not supported on this GPU
// GFX8-9: error: instruction not supported on this GPU
// GFX10: error: invalid operand for instruction
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8-9: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_co_ci_u32 v5, vcc, v1, v2, 0
// GFX6-7: error: instruction not supported on this GPU
// GFX8-9: error: instruction not supported on this GPU
// GFX10: error: invalid operand for instruction
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8-9: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_co_ci_u32 v5, 0, v1, v2, vcc_lo
// GFX6-7: error: instruction not supported on this GPU
// GFX8-9: error: instruction not supported on this GPU
// GFX10: error: invalid operand for instruction
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8-9: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_co_ci_u32 v5, vcc_lo, v1, v2, 0
// GFX6-7: error: instruction not supported on this GPU
// GFX8-9: error: instruction not supported on this GPU
// GFX10: error: invalid operand for instruction
// GFX6-7: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX8-9: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -16,35 +16,35 @@ s_cbranch_execz 0x100
s_add_i32 s0, execz, s2
// GFX10: encoding: [0xfc,0x02,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, src_execz, s2
// GFX10: encoding: [0xfc,0x02,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, s1, execz
// GFX10: encoding: [0x01,0xfc,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, s1, src_execz
// GFX10: encoding: [0x01,0xfc,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], execz, v[2:3]
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0xfc,0x04,0x02,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], src_execz, v[2:3]
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0xfc,0x04,0x02,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], v[1:2], execz
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0x01,0xf9,0x01,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], v[1:2], src_execz
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0x01,0xf9,0x01,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
//---------------------------------------------------------------------------//
// VCCZ
@ -56,35 +56,35 @@ s_cbranch_vccz 0x100
s_add_i32 s0, vccz, s2
// GFX10: encoding: [0xfb,0x02,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, src_vccz, s2
// GFX10: encoding: [0xfb,0x02,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, s1, vccz
// GFX10: encoding: [0x01,0xfb,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
s_add_i32 s0, s1, src_vccz
// GFX10: encoding: [0x01,0xfb,0x00,0x81]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], vccz, v[2:3]
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0xfb,0x04,0x02,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], src_vccz, v[2:3]
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0xfb,0x04,0x02,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], v[1:2], vccz
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0x01,0xf7,0x01,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
v_add_f64 v[0:1], v[1:2], src_vccz
// GFX10: encoding: [0x00,0x00,0x64,0xd5,0x01,0xf7,0x01,0x00]
// GFX11-ERR: error: execz and vccz are not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: execz and vccz are not supported on this GPU
//---------------------------------------------------------------------------//
// LDS_DIRECT
@ -92,19 +92,19 @@ v_add_f64 v[0:1], v[1:2], src_vccz
v_readfirstlane_b32 s0, lds_direct
// GFX10: encoding: [0xfe,0x04,0x00,0x7e]
// GFX11-ERR: error: lds_direct is not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_readfirstlane_b32 s0, src_lds_direct
// GFX10: encoding: [0xfe,0x04,0x00,0x7e]
// GFX11-ERR: error: lds_direct is not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_mov_b32 v0, lds_direct
// GFX10: encoding: [0xfe,0x02,0x00,0x7e]
// GFX11-ERR: error: lds_direct is not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_mov_b32 v0, src_lds_direct
// GFX10: encoding: [0xfe,0x02,0x00,0x7e]
// GFX11-ERR: error: lds_direct is not supported on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
//---------------------------------------------------------------------------//
// POPS_EXITING_WAVE_ID
@ -112,32 +112,32 @@ v_mov_b32 v0, src_lds_direct
s_add_i32 s0, src_pops_exiting_wave_id, s1
// GFX10: encoding: [0xef,0x01,0x00,0x81]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_add_i32 s0, s1, src_pops_exiting_wave_id
// GFX10: encoding: [0x01,0xef,0x00,0x81]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_add_i32 s0, pops_exiting_wave_id, s1
// GFX10: encoding: [0xef,0x01,0x00,0x81]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_add_i32 s0, s1, pops_exiting_wave_id
// GFX10: encoding: [0x01,0xef,0x00,0x81]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
v_add_co_u32 v0, s0, pops_exiting_wave_id, v1
// GFX10: encoding: [0x00,0x00,0x0f,0xd7,0xef,0x02,0x02,0x00]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
v_add_co_u32 v0, s0, src_pops_exiting_wave_id, v1
// GFX10: encoding: [0x00,0x00,0x0f,0xd7,0xef,0x02,0x02,0x00]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
v_add_co_u32 v0, s0, v1, pops_exiting_wave_id
// GFX10: encoding: [0x00,0x00,0x0f,0xd7,0x01,0xdf,0x01,0x00]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
v_add_co_u32 v0, s0, v1, src_pops_exiting_wave_id
// GFX10: encoding: [0x00,0x00,0x0f,0xd7,0x01,0xdf,0x01,0x00]
// GFX11-ERR: error: register not available on this GPU
// GFX11-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU

View File

@ -1,21 +1,21 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 %s 2>&1 | FileCheck %s -check-prefix=GFX11 --implicit-check-not=error: --strict-whitespace
s_waitcnt_vscnt s0, 0x1234
// GFX11: error: src0 must be null
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 must be null
// GFX11-NEXT:{{^}}s_waitcnt_vscnt s0, 0x1234
// GFX11-NEXT:{{^}} ^
s_waitcnt_vmcnt exec_lo, 0x1234
// GFX11: error: src0 must be null
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 must be null
// GFX11-NEXT:{{^}}s_waitcnt_vmcnt exec_lo, 0x1234
// GFX11-NEXT:{{^}} ^
s_waitcnt_expcnt vcc_lo, 0x1234
// GFX11: error: src0 must be null
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 must be null
// GFX11-NEXT:{{^}}s_waitcnt_expcnt vcc_lo, 0x1234
// GFX11-NEXT:{{^}} ^
s_waitcnt_lgkmcnt m0, 0x1234
// GFX11: error: src0 must be null
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 must be null
// GFX11-NEXT:{{^}}s_waitcnt_lgkmcnt m0, 0x1234
// GFX11-NEXT:{{^}} ^

View File

@ -6,37 +6,37 @@
//===----------------------------------------------------------------------===//
v_interp_p10_f32 v0, s1, v2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p10_f32 v0, v1, s2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p10_f32 v0, v1, v2, s3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f32 v0, 1, v2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f32 v0, v1, 2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f32 v0, v1, v2, 3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p10_f16_f32 v0, s1, v2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p10_f16_f32 v0, v1, s2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p10_f16_f32 v0, v1, v2, s3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16_f32 v0, 1, v2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16_f32 v0, v1, 2, v3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16_f32 v0, v1, v2, 3
// GFX11-ERR: error: invalid operand for instruction
// GFX11-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -2,506 +2,506 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 -mattr=-wavefrontsize32,+wavefrontsize64 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX11 --implicit-check-not=error %s
v_ceil_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ceil_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ceil_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cos_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cos_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cos_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_f32_e32 v128, 0xaf123456
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_f32_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_f32_e32 v255, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_i16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_i16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_i16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_u16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_u16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f16_u16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_f32_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_i16_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_i16_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_i16_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_i32_i16_e32 v5, v199
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_i16_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_norm_i16_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_norm_i16_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_norm_u16_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_norm_u16_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_norm_u16_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_u16_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_u16_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_u16_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cvt_u32_u16_e32 v5, v199
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_exp_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_exp_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_exp_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_floor_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_floor_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_floor_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fract_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fract_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fract_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_exp_i16_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_exp_i16_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_exp_i16_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_mant_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_mant_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_frexp_mant_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_log_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_log_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_log_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_not_b16_e32 v128, 0xfe0b
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v255, v1
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v5, v199
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rcp_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rcp_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rcp_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rndne_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rndne_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rndne_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rsq_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rsq_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_rsq_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sat_pk_u8_i16_e32 v199, v5
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sin_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sin_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sin_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sqrt_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sqrt_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sqrt_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_trunc_f16_e32 v128, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_trunc_f16_e32 v255, v1
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_trunc_f16_e32 v5, v199
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ceil_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cos_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cos_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v128, 0xaf123456 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v255, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_i16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_i16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_u16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_u16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f32_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i16_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i16_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i32_i16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_i16_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_i16_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_u16_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_u16_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u16_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u16_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u32_u16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_exp_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_exp_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_floor_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_floor_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fract_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fract_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_exp_i16_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_exp_i16_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_mant_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_mant_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_log_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_log_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rcp_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rcp_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rndne_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rndne_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rsq_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rsq_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sat_pk_u8_i16_e32 v199, v5 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sin_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sin_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sqrt_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sqrt_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f16_e32 v255, v1 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f16_e32 v5, v199 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cos_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cos_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v128, 0xaf123456 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_f32_e32 v255, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_i16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_i16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_u16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f16_u16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_f32_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i16_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i16_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_i32_i16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_i16_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_i16_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_u16_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_norm_u16_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u16_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u16_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_u32_u16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_exp_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_exp_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_floor_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_floor_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fract_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fract_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_exp_i16_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_exp_i16_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_mant_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_frexp_mant_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_log_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_log_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_not_b16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rcp_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rcp_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rndne_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rndne_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rsq_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_rsq_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sat_pk_u8_i16_e32 v199, v5 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sin_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sin_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sqrt_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_sqrt_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f16_e32 v255, v1 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f16_e32 v5, v199 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -2,236 +2,236 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 -mattr=-wavefrontsize32,+wavefrontsize64 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX11 --implicit-check-not=error %s
v_add_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmaak_f16_e32 v255, v1, v2, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmamk_f16_e32 v255, v1, 0xfe0b, v3
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_e32 v255, v1, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmaak_f16_e32 v5, v255, v2, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmamk_f16_e32 v5, v255, 0xfe0b, v3
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_e32 v5, v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmaak_f16_e32 v5, v1, v255, 0xfe0b
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmamk_f16_e32 v5, v1, 0xfe0b, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_e32 v5, v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v255, v1, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v5, v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v5, v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v255, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v5, v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_fmac_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_ldexp_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_max_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_min_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mul_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_sub_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_subrev_f16_dpp v5, v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode

File diff suppressed because it is too large Load Diff

View File

@ -1,542 +1,542 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 -mattr=+wavefrontsize64 -show-encoding %s 2>&1 | FileCheck --check-prefix=GFX11 --implicit-check-not=error %s
v_cmpx_class_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_f_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lg_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ne_i16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ne_u16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_neq_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nge_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ngt_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nle_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nlg_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nlt_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_o_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_t_f16_e32 v1, v255
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v1, v255
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v1, v255
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_class_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_eq_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_f_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ge_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_gt_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_le_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lg_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_lt_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ne_i16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ne_u16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_neq_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nge_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_ngt_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nle_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nlg_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_nlt_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_o_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_t_f16_e32 v255, v2
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v255, v2
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v255, v2
// GFX11: error: operands are not valid for this GPU or mode
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_cmpx_class_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_f_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lg_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_i16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_u16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_neq_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nge_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ngt_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nle_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlg_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlt_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_o_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_t_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v1, v255 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_class_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_f_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lg_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_i16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_u16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_neq_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nge_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ngt_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nle_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlg_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlt_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_o_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_t_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v255, v2 quad_perm:[3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_class_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_f_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lg_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_i16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_u16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_neq_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nge_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ngt_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nle_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlg_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlt_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_o_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_t_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v1, v255 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_class_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_eq_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_f_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ge_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_gt_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_le_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lg_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_lt_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_i16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ne_u16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_neq_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nge_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_ngt_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nle_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlg_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_nlt_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_o_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_t_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_tru_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cmpx_u_f16_e32 v255, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -5,7 +5,7 @@
//===----------------------------------------------------------------------===//
v_dual_mul_f32 v11, 0x24681357, v2 :: v_dual_mul_f32 v10, 0xbabe, v5
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_mul_f32 v11, 0x24681357, v2 :: v_dual_mul_f32 v10, 0xbabe, v5
// GFX11-NEXT:{{^}} ^
@ -15,27 +15,27 @@ v_dual_mul_f32 v11, 0x24681357, v2 :: v_dual_mul_f32 v10, 0x
//===----------------------------------------------------------------------===//
v_dual_fmamk_f32 v122, v74, 0xa0172923, v161 :: v_dual_lshlrev_b32 v247, 0xbabe, v99
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, v74, 0xa0172923, v161 :: v_dual_lshlrev_b32 v247, 0xbabe, v99
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v5, 0xaf123456, v2 :: v_dual_fmaak_f32 v6, v3, v1, 0xbabe
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_add_f32 v5, 0xaf123456, v2 :: v_dual_fmaak_f32 v6, v3, v1, 0xbabe
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v5, 0xaf123456, v2 :: v_dual_fmaak_f32 v6, 0xbabe, v1, 0xbabe
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_add_f32 v5, 0xaf123456, v2 :: v_dual_fmaak_f32 v6, 0xbabe, v1, 0xbabe
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0x1234, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0x1234, v162
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, s0, 0x1234, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, s0, 0x1234, v162
// GFX11-NEXT:{{^}} ^
@ -44,22 +44,22 @@ v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v12
//===----------------------------------------------------------------------===//
v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0x1234, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0x1234, v162
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0x1234, 0xdeadbeef, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0xdeadbeef, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0x1234, 0xdeadbeef, v162
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, 0xdeadbeef, 0x1234, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0xdeadbeef, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0xdeadbeef, 0x1234, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0xdeadbeef, v162
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, 0x1234, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0xdeadbeef, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, 0x1234, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, 0xdeadbeef, 0xdeadbeef, v162
// GFX11-NEXT:{{^}} ^
@ -69,7 +69,7 @@ v_dual_fmamk_f32 v122, 0x1234, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v12
//===----------------------------------------------------------------------===//
v_dual_fmamk_f32 v122, s0, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, s0, 0x1234, v162
// GFX11: error: only one unique literal operand is allowed
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, s0, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, s0, 0x1234, v162
// GFX11-NEXT:{{^}} ^
@ -80,56 +80,56 @@ v_dual_fmamk_f32 v122, s0, 0xdeadbeef, v161 :: v_dual_fmamk_f32 v123, s0,
// 2 different SGPRs + LITERAL
v_dual_fmaak_f32 v122, s74, v161, 2.741 :: v_dual_and_b32 v247, s75, v98
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_fmaak_f32 v122, s74, v161, 2.741 :: v_dual_and_b32 v247, s75, v98
// GFX11-NEXT:{{^}} ^
v_dual_mov_b32 v247, s73 :: v_dual_fmaak_f32 v122, s74, v161, 2.741
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_mov_b32 v247, s73 :: v_dual_fmaak_f32 v122, s74, v161, 2.741
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v122, s0, 0xbabe, v161 :: v_dual_fmamk_f32 v123, s1, 0xbabe, v162
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v122, s0, 0xbabe, v161 :: v_dual_fmamk_f32 v123, s1, 0xbabe, v162
// GFX11-NEXT:{{^}} ^
// 2 different SGPRs + VCC
v_dual_add_f32 v255, s1, v2 :: v_dual_cndmask_b32 v6, s2, v3
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_add_f32 v255, s1, v2 :: v_dual_cndmask_b32 v6, s2, v3
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v6, s1, v3 :: v_dual_add_f32 v255, s2, v2
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v6, s1, v3 :: v_dual_add_f32 v255, s2, v2
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v255, s1, v2 :: v_dual_cndmask_b32 v6, s2, v3
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v255, s1, v2 :: v_dual_cndmask_b32 v6, s2, v3
// GFX11-NEXT:{{^}} ^
// SGPR + LITERAL + VCC
v_dual_cndmask_b32 v255, s1, v2 :: v_dual_mov_b32 v254, 0xbabe
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v255, s1, v2 :: v_dual_mov_b32 v254, 0xbabe
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v255, 0xbabe, v2 :: v_dual_mov_b32 v254, s1
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v255, 0xbabe, v2 :: v_dual_mov_b32 v254, s1
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v255, s3, v2 :: v_dual_fmamk_f32 v254, v1, 0xbabe, v162
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v255, s3, v2 :: v_dual_fmamk_f32 v254, v1, 0xbabe, v162
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v255, v1, v2 :: v_dual_fmamk_f32 v254, s3, 0xbabe, v162
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v255, v1, v2 :: v_dual_fmamk_f32 v254, s3, 0xbabe, v162
// GFX11-NEXT:{{^}} ^
@ -138,7 +138,7 @@ v_dual_cndmask_b32 v255, v1, v2 :: v_dual_fmamk_f32 v254,
// SP3 does not accept this instruction as well.
v_dual_add_f32 v255, vcc_lo, v2 :: v_dual_cndmask_b32 v6, s1, v3
// GFX11: error: invalid operand (violates constant bus restrictions)
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// GFX11-NEXT:{{^}}v_dual_add_f32 v255, vcc_lo, v2 :: v_dual_cndmask_b32 v6, s1, v3
// GFX11-NEXT:{{^}} ^
@ -147,32 +147,32 @@ v_dual_add_f32 v255, vcc_lo, v2 :: v_dual_cndmask_b32 v6, s1
//===----------------------------------------------------------------------===//
v_dual_add_f32 v0, v4, v2 :: v_dual_add_f32 v2, v1, v3
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_add_f32 v0, v4, v2 :: v_dual_add_f32 v2, v1, v3
// GFX11-NEXT:{{^}} ^
v_dual_mov_b32 v1, v4 :: v_dual_add_f32 v5, v1, v3
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_mov_b32 v1, v4 :: v_dual_add_f32 v5, v1, v3
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v2, v4, v5 :: v_dual_add_f32 v8, v5, v6
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v2, v4, v5 :: v_dual_add_f32 v8, v5, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmac_f32 v3, v4, v5 :: v_dual_add_f32 v9, v5, v6
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_fmac_f32 v3, v4, v5 :: v_dual_add_f32 v9, v5, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmaak_f32 v4, v4, v5, 0xaf123456 :: v_dual_add_f32 v0, v5, v6
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_fmaak_f32 v4, v4, v5, 0xaf123456 :: v_dual_add_f32 v0, v5, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v5, v4, 0xaf123456, v6 :: v_dual_add_f32 v1, v5, v6
// GFX11: error: one dst register must be even and the other odd
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: one dst register must be even and the other odd
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v5, v4, 0xaf123456, v6 :: v_dual_add_f32 v1, v5, v6
// GFX11-NEXT:{{^}} ^
@ -181,32 +181,32 @@ v_dual_fmamk_f32 v5, v4, 0xaf123456, v6 :: v_dual_add_f32 v1, v5
//===----------------------------------------------------------------------===//
v_dual_add_f32 v1, v1, v5 :: v_dual_mov_b32 v2, v1
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_add_f32 v1, v1, v5 :: v_dual_mov_b32 v2, v1
// GFX11-NEXT:{{^}} ^
v_dual_mov_b32 v1, v2 :: v_dual_add_f32 v2, v6, v6
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_mov_b32 v1, v2 :: v_dual_add_f32 v2, v6, v6
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v1, v3, v5 :: v_dual_add_f32 v2, v11, v6
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v1, v3, v5 :: v_dual_add_f32 v2, v11, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmac_f32 v1, v4, v5 :: v_dual_add_f32 v2, v44, v6
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmac_f32 v1, v4, v5 :: v_dual_add_f32 v2, v44, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmaak_f32 v1, v5, v5, 0xaf123456 :: v_dual_add_f32 v2, v25, v6
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmaak_f32 v1, v5, v5, 0xaf123456 :: v_dual_add_f32 v2, v25, v6
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v1, v6, 0xaf123456, v6 :: v_dual_add_f32 v2, v2, v6
// GFX11: error: src0 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src0 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v1, v6, 0xaf123456, v6 :: v_dual_add_f32 v2, v2, v6
// GFX11-NEXT:{{^}} ^
@ -215,37 +215,37 @@ v_dual_fmamk_f32 v1, v6, 0xaf123456, v6 :: v_dual_add_f32 v2, v2
//===----------------------------------------------------------------------===//
v_dual_add_f32 v1, v4, v0 :: v_dual_add_f32 v2, v5, v4
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_add_f32 v1, v4, v0 :: v_dual_add_f32 v2, v5, v4
// GFX11-NEXT:{{^}} ^
v_dual_cndmask_b32 v1, v4, v1 :: v_dual_add_f32 v2, v5, v9
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_cndmask_b32 v1, v4, v1 :: v_dual_add_f32 v2, v5, v9
// GFX11-NEXT:{{^}} ^
v_dual_fmac_f32 v1, v4, v2 :: v_dual_add_f32 v2, v5, v14
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmac_f32 v1, v4, v2 :: v_dual_add_f32 v2, v5, v14
// GFX11-NEXT:{{^}} ^
v_dual_fmaak_f32 v1, v4, v3, 0xaf123456 :: v_dual_add_f32 v2, v5, v23
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmaak_f32 v1, v4, v3, 0xaf123456 :: v_dual_add_f32 v2, v5, v23
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v2, v4, v4 :: v_dual_cndmask_b32 v1, v5, v0
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_add_f32 v2, v4, v4 :: v_dual_cndmask_b32 v1, v5, v0
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v2, v4, v5 :: v_dual_fmac_f32 v1, v5, v1
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_add_f32 v2, v4, v5 :: v_dual_fmac_f32 v1, v5, v1
// GFX11-NEXT:{{^}} ^
v_dual_fmaak_f32 v1, v4, v3, 0xaf123456 :: v_dual_fmaak_f32 v2, v5, v23, 0xaf123456
// GFX11: error: src1 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src1 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmaak_f32 v1, v4, v3, 0xaf123456 :: v_dual_fmaak_f32 v2, v5, v23, 0xaf123456
// GFX11-NEXT:{{^}} ^
@ -254,17 +254,17 @@ v_dual_fmaak_f32 v1, v4, v3, 0xaf123456 :: v_dual_fmaak_f32 v2, v5
//===----------------------------------------------------------------------===//
v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 :: v_dual_fmamk_f32 v5, v2, 0xaf123456, v5
// GFX11: error: src2 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src2 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 :: v_dual_fmamk_f32 v5, v2, 0xaf123456, v5
// GFX11-NEXT:{{^}} ^
v_dual_fmac_f32 v7, v1, v2 :: v_dual_fmamk_f32 v6, v2, 0xaf123456, v3
// GFX11: error: src2 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src2 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmac_f32 v7, v1, v2 :: v_dual_fmamk_f32 v6, v2, 0xaf123456, v3
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 :: v_dual_fmac_f32 v5, v2, v3
// GFX11: error: src2 operands must use different VGPR banks
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: src2 operands must use different VGPR banks
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 :: v_dual_fmac_f32 v5, v2, v3
// GFX11-NEXT:{{^}} ^
@ -273,41 +273,41 @@ v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 :: v_dual_fmac_f32 v5, v2
//===----------------------------------------------------------------------===//
v_dual_fmamk_f32 v6, v1, 0xaf123456, v2 : : v_dual_fmac_f32 v5, v2, v3
// GFX11: error: unknown token in expression
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v2 : : v_dual_fmac_f32 v5, v2, v3
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v6, v1, 0xaf123456, v3
// GFX11: error: too few operands for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v3
// GFX11-NEXT:{{^}}^
v_dual_fmamk_f32 v6, v1, 0xaf123456, v2 :: v_dual_fmac_f32
// GFX11: error: too few operands for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v2 :: v_dual_fmac_f32
// GFX11-NEXT:{{^}}^
v_dual_add_f32 v255, v4 :: v_add_f32 v6, v1, v3
// GFX11: error: invalid operand for instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX11-NEXT:{{^}}v_dual_add_f32 v255, v4 :: v_add_f32 v6, v1, v3
// GFX11-NEXT:{{^}} ^
v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 ::
// GFX11: error: expected a VOPDY instruction after ::
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VOPDY instruction after ::
// GFX11-NEXT:{{^}}v_dual_fmamk_f32 v6, v1, 0xaf123456, v3 ::
// GFX11-NEXT:{{^}} ^
v_add_f32 v6, v1, v3 ::
// GFX11: error: expected a VOPDY instruction after ::
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VOPDY instruction after ::
// GFX11-NEXT:{{^}}v_add_f32 v6, v1, v3 ::
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v255::
// GFX11: error: expected a VOPDY instruction after ::
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VOPDY instruction after ::
// GFX11-NEXT:{{^}}v_dual_add_f32 v255::
// GFX11-NEXT:{{^}} ^
v_dual_add_f32 v255, v4, v2 :: v_add_f32 v6, v1, v3
// GFX11: error: invalid VOPDY instruction
// GFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid VOPDY instruction
// GFX11-NEXT:{{^}}v_dual_add_f32 v255, v4, v2 :: v_add_f32 v6, v1, v3
// GFX11-NEXT:{{^}} ^

View File

@ -4,12 +4,12 @@
// cache policy is not supported for SMRD instructions
s_load_dword s1, s[2:3], 0xfc glc slc
// CHECK: error: cache policy is not supported for SMRD instructions
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions
// CHECK-NEXT:{{^}}s_load_dword s1, s[2:3], 0xfc glc slc
// CHECK-NEXT:{{^}} ^
s_load_dword s1, s[2:3], 0xfc slc
// CHECK: error: cache policy is not supported for SMRD instructions
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions
// CHECK-NEXT:{{^}}s_load_dword s1, s[2:3], 0xfc slc
// CHECK-NEXT:{{^}} ^
@ -17,7 +17,7 @@ s_load_dword s1, s[2:3], 0xfc slc
// d16 modifier is not supported on this GPU
image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// CHECK: error: d16 modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// CHECK-NEXT:{{^}}image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// CHECK-NEXT:{{^}} ^
@ -25,7 +25,7 @@ image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// integer clamping is not supported on this GPU
v_add_co_u32 v84, s[4:5], v13, v31 clamp
// CHECK: error: integer clamping is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: integer clamping is not supported on this GPU
// CHECK-NEXT:{{^}}v_add_co_u32 v84, s[4:5], v13, v31 clamp
// CHECK-NEXT:{{^}} ^
@ -33,6 +33,6 @@ v_add_co_u32 v84, s[4:5], v13, v31 clamp
// literal operands are not supported
v_and_b32_e64 v0, 0.159154943091895317852646485335, v1
// CHECK: error: literal operands are not supported
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// CHECK-NEXT:{{^}}v_and_b32_e64 v0, 0.159154943091895317852646485335, v1
// CHECK-NEXT:{{^}} ^

File diff suppressed because it is too large Load Diff

View File

@ -4,12 +4,12 @@
// a16 modifier is not supported on this GPU
image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 a16
// CHECK: error: a16 modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: a16 modifier is not supported on this GPU
// CHECK-NEXT:{{^}}image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 a16
// CHECK-NEXT:{{^}} ^
image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 noa16
// CHECK: error: a16 modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: a16 modifier is not supported on this GPU
// CHECK-NEXT:{{^}}image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 noa16
// CHECK-NEXT:{{^}} ^
@ -17,12 +17,12 @@ image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 noa16
// expected a 20-bit unsigned offset
s_atc_probe 0x7, s[4:5], -1
// CHECK: error: expected a 20-bit unsigned offset
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// CHECK-NEXT:{{^}}s_atc_probe 0x7, s[4:5], -1
// CHECK-NEXT:{{^}} ^
s_store_dword s1, s[2:3], 0xFFFFFFFFFFF00000
// CHECK: error: expected a 20-bit unsigned offset
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// CHECK-NEXT:{{^}}s_store_dword s1, s[2:3], 0xFFFFFFFFFFF00000
// CHECK-NEXT:{{^}} ^
@ -30,7 +30,7 @@ s_store_dword s1, s[2:3], 0xFFFFFFFFFFF00000
// flat offset modifier is not supported on this GPU
flat_atomic_add v[3:4], v5 inst_offset:8 slc
// CHECK: error: flat offset modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: flat offset modifier is not supported on this GPU
// CHECK-NEXT:{{^}}flat_atomic_add v[3:4], v5 inst_offset:8 slc
// CHECK-NEXT:{{^}} ^
@ -38,7 +38,7 @@ flat_atomic_add v[3:4], v5 inst_offset:8 slc
// image data size does not match dmask and tfe
image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// CHECK: error: image data size does not match dmask and tfe
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// CHECK-NEXT:{{^}}image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// CHECK-NEXT:{{^}}^
@ -46,6 +46,6 @@ image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// not a valid operand
v_cndmask_b32_sdwa v5, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 src1_sel:WORD_0
// CHECK: error: not a valid operand.
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// CHECK-NEXT:{{^}}v_cndmask_b32_sdwa v5, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 src1_sel:WORD_0
// CHECK-NEXT:{{^}} ^

File diff suppressed because it is too large Load Diff

View File

@ -1,43 +1,43 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck -check-prefix=GFX9ERR --implicit-check-not=error: %s
v_cvt_f16_u16_e64 v5, 0.5
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_cvt_f16_u16_e64 v5, -4.0
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_add_u16_e64 v5, v1, 0.5
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_add_u16_e64 v5, v1, -4.0
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_cvt_f16_i16_e64 v5, 0.5
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_cvt_f16_i16_e64 v5, -4.0
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_add_u16_e64 v5, 0.5, v2
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_add_u16_e64 v5, -4.0, v2
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_subrev_u16_e64 v5, v1, 0.5
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_subrev_u16_e64 v5, v1, -4.0
// GFX9ERR: error: literal operands are not supported
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_cvt_u32_f64 v5, v[0:1] quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// GFX9ERR: error: not a valid operand.
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
global_load_lds_dword v[2:3], off
// GFX9ERR: error: instruction not supported on this GPU
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v[2:3], off
// GFX9ERR: error: too few operands for instruction
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
scratch_load_dword v2, off, offset:256
// GFX9ERR: error: too few operands for instruction
// GFX9ERR: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction

View File

@ -1,7 +1,7 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx900 %s 2>&1 | FileCheck -check-prefix=GFX9-ERR --implicit-check-not=error: %s
v_addc_co_u32_e32 v3, vcc, 12345, v3, vcc
// GFX9-ERR: error: invalid operand (violates constant bus restrictions)
// GFX9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32 v0, 12345, v1, vcc
// GFX9-ERR: error: invalid operand (violates constant bus restrictions)
// GFX9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)

View File

@ -4,7 +4,7 @@
// inline constants are not allowed for this operand
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 0
// CHECK: error: inline constants are not allowed for this operand
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: inline constants are not allowed for this operand
// CHECK-NEXT:{{^}}v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 0
// CHECK-NEXT:{{^}} ^
@ -12,7 +12,7 @@ v_mfma_f32_32x32x1f32 a[0:31], v0, v1, 0
// invalid neg_hi value
v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,2]
// CHECK: error: invalid neg_hi value
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid neg_hi value
// CHECK-NEXT:{{^}}v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,2]
// CHECK-NEXT:{{^}} ^
@ -20,7 +20,7 @@ v_dot2_f32_f16 v0, v1, v2, v3 neg_hi:[0,2]
// invalid neg_lo value
v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,0]
// CHECK: error: invalid neg_lo value
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid neg_lo value
// CHECK-NEXT:{{^}}v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,0]
// CHECK-NEXT:{{^}} ^
@ -28,7 +28,7 @@ v_dot2_f32_f16 v0, v1, v2, v3 neg_lo:[2,0]
// invalid op_sel_hi value
v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,0]
// CHECK: error: invalid op_sel_hi value
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid op_sel_hi value
// CHECK-NEXT:{{^}}v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,0]
// CHECK-NEXT:{{^}} ^
@ -36,6 +36,6 @@ v_dot2_f32_f16 v0, v1, v2, v3 op_sel_hi:[2,0]
// source operand must be either a VGPR or an inline constant
v_accvgpr_write a2, execz
// CHECK: error: source operand must be either a VGPR or an inline constant
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
// CHECK-NEXT:{{^}}v_accvgpr_write a2, execz
// CHECK-NEXT:{{^}} ^

File diff suppressed because it is too large Load Diff

View File

@ -1,295 +1,295 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefix=GFX90A --implicit-check-not=error: %s
ds_add_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_add_src2_f32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_sub_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_rsub_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_inc_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_dec_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_i32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_i32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_u32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_and_src2_b32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_or_src2_b32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_xor_src2_b32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_f32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_f32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_add_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_sub_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_rsub_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_inc_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_dec_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_i64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_i64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_u64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_and_src2_b64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_or_src2_b64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_xor_src2_b64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_min_src2_f64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_max_src2_f64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_write_src2_b32 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
ds_write_src2_b64 v1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_gather4 v[5:8], v1, s[8:15], s[12:15]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_gather4h v[251:254], v[1:2], s[8:15], s[12:15] dmask:0x1
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_get_lod v5, v1, s[8:15], s[12:15]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mul_legacy_f32_e32 v5, v1, v2
// GFX90A: error: e32 variant of this instruction is not supported
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: e32 variant of this instruction is not supported
v_mul_legacy_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// GFX90A: error: sdwa variant of this instruction is not supported
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
v_mul_legacy_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
// GFX90A: error: dpp variant of this instruction is not supported
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: dpp variant of this instruction is not supported
v_interp_p1_f32 v5, v1, attr0.x
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p1_f32_e64 v5, v2, attr0.x
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p2_f32 v5, v1, attr0.x
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_mov_f32 v5, p10, attr0.x
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p1ll_f16 v5, v2, attr0.x
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p1lv_f16 v5, v2, attr0.x, v3
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p2_legacy_f16 v5, v2, attr0.x, v3
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_interp_p2_f16 v5, v2, attr0.x, v3
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mov_b32_dpp v5, v1 row_share:1 row_mask:0x0 bank_mask:0x0
// GFX90A: error: not a valid operand
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand
v_ceil_f64_dpp v[0:1], v[2:3] quad_perm:[1,1,1,1] row_mask:0xf bank_mask:0xf
// GFX90A: error: 64 bit dpp only supports row_newbcast
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: 64 bit dpp only supports row_newbcast
v_ceil_f64_dpp v[0:1], v[2:3] row_shl:1 row_mask:0xf bank_mask:0xf
// GFX90A: error: 64 bit dpp only supports row_newbcast
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: 64 bit dpp only supports row_newbcast
v_ceil_f64_dpp v[0:1], v[2:3] wave_ror:1 row_mask:0xf bank_mask:0xf
// GFX90A: error: 64 bit dpp only supports row_newbcast
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: 64 bit dpp only supports row_newbcast
v_cvt_u32_f64 v5, v[0:1] quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// GFX90A: error: 64 bit dpp only supports row_newbcast
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: 64 bit dpp only supports row_newbcast
v_ceil_f64_dpp v[0:1], v[2:3] row_share:1 row_mask:0xf bank_mask:0xf
// GFX90A: error: not a valid operand.
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
flat_atomic_add v2, v[2:3], a2 glc
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
flat_atomic_add a2, v[2:3], v2 glc
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
tbuffer_store_format_xyzw v[0:3], off, s[4:7], dfmt:15, nfmt:2, s1 tfe
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_store_dwordx4 v[0:3], off, s[12:15], s4 offset:4095 glc tfe
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
ds_write2_b64 v1, a[4:5], v[2:3] offset1:255
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
ds_write2_b64 v1, v[4:5], a[2:3] offset1:255
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
ds_write2_b64 v1, a[4:5], v[2:3] offset1:255 gds
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
ds_write2_b64 v1, v[4:5], a[2:3] offset1:255 gds
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
ds_wrxchg2st64_rtn_b32 v[6:7], v1, a2, a3 offset0:127
// GFX90A: error: invalid register class: data and dst should be all VGPR or AGPR
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: data and dst should be all VGPR or AGPR
image_load v[0:4], v2, s[0:7] dmask:0xf unorm tfe
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
image_sample_lz v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_sample_d v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_sample_o v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_sample_cl v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_sample_cd v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_sample_b v[0:3], v[0:1], s[4:11], s[16:19] dmask:0xf
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_atomic_add_f32 v0, v[0:1], v2, off glc scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_add_f32 v[0:1], v2, off scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_add_f32 v0, v2, s[0:1] scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_add_f32 v1, v0, v2, s[0:1] glc scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_pk_add_f16 v0, v[0:1], v2, off glc scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
flat_atomic_add_f64 v[0:1], v[0:1], v[2:3] glc scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
flat_atomic_add_f64 v[0:1], v[2:3] scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
flat_atomic_min_f64 v[0:1], v[2:3] scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
flat_atomic_max_f64 v[0:1], v[2:3] scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_add_f64 v[0:1], v[2:3], off scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_min_f64 v[0:1], v[2:3], off scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
global_atomic_max_f64 v[0:1], v[2:3], off scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
buffer_atomic_add_f32 v4, off, s[8:11], s3 scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
buffer_atomic_pk_add_f16 v4, off, s[8:11], s3 scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
buffer_atomic_add_f64 v[4:5], off, s[8:11], s3 scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
buffer_atomic_max_f64 v[4:5], off, s[8:11], s3 scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
buffer_atomic_min_f64 v[4:5], off, s[8:11], s3 scc
// GFX90A: error: scc is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: scc is not supported on this GPU
v_mov_b32_sdwa v1, src_lds_direct dst_sel:DWORD
// GFX90A: error: lds_direct is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_add_f32_sdwa v5, v1, lds_direct dst_sel:DWORD
// GFX90A: error: lds_direct is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_ashrrev_i16 v0, lds_direct, v0
// GFX90A: error: lds_direct is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
v_add_f32 v5, v1, lds_direct
// GFX90A: error: lds_direct is not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct is not supported on this GPU
ds_gws_init a1 offset:65535 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_gws_init a255 offset:65535 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_gws_sema_br v1 offset:65535 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_gws_sema_br v255 offset:65535 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_gws_barrier a3 offset:4 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_gws_barrier a255 offset:4 gds
// GFX90A: error: vgpr must be even aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
ds_ordered_count v5, v1 offset:65535 gds
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
exp pos0 v3, v2, v1, v0
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_lds_dword v[2:3], off
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
scratch_load_lds_dword v2, off
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -4,11 +4,11 @@
// vgpr must be even aligned
ds_gws_init a1 offset:65535 gds
// CHECK: error: vgpr must be even aligned
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: vgpr must be even aligned
// CHECK-NEXT:{{^}}ds_gws_init a1 offset:65535 gds
// CHECK-NEXT:{{^}} ^
v_mfma_f64_16x16x4f64 v[0:7], v[0:1], v[2:3], v[2:9]
// CHECK: error: source 2 operand must not partially overlap with dst
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: source 2 operand must not partially overlap with dst
// CHECK-NEXT:{{^}}v_mfma_f64_16x16x4f64 v[0:7], v[0:1], v[2:3], v[2:9]
// CHECK-NEXT:{{^}} ^

File diff suppressed because it is too large Load Diff

View File

@ -2,218 +2,218 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefixes=NOT-GFX940,GFX90A --implicit-check-not=error: %s
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck --check-prefixes=NOT-GFX940,GFX10 --implicit-check-not=error: %s
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off sc0 ; encoding: [0x00,0x80,0x51,0xdc,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off sc0
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off ; encoding: [0x00,0x80,0x50,0xdc,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off nosc0
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off sc1 ; encoding: [0x00,0x80,0x50,0xde,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off sc1
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off ; encoding: [0x00,0x80,0x50,0xdc,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off nosc1
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off nt ; encoding: [0x00,0x80,0x52,0xdc,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off nt
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: global_load_dword v2, v[2:3], off ; encoding: [0x00,0x80,0x50,0xdc,0x02,0x00,0x7f,0x02]
global_load_dword v2, v[2:3], off nont
// GFX940: s_load_dword s2, s[2:3], 0x0 glc ; encoding: [0x81,0x00,0x03,0xc0,0x00,0x00,0x00,0x00]
s_load_dword s2, s[2:3], 0x0 glc
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: buffer_load_dword v5, off, s[8:11], s3 sc0 nt sc1 ; encoding: [0x00,0xc0,0x52,0xe0,0x00,0x05,0x02,0x03]
buffer_load_dword v5, off, s[8:11], s3 sc0 nt sc1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f32 v[2:3], v1 ; encoding: [0x00,0x00,0x34,0xdd,0x02,0x01,0x00,0x00]
flat_atomic_add_f32 v[2:3], v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f32 v[2:3], a1 ; encoding: [0x00,0x00,0x34,0xdd,0x02,0x01,0x80,0x00]
flat_atomic_add_f32 v[2:3], a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f32 v4, v[2:3], v1 sc0 ; encoding: [0x00,0x00,0x35,0xdd,0x02,0x01,0x00,0x04]
flat_atomic_add_f32 v4, v[2:3], v1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f32 a4, v[2:3], a1 sc0 ; encoding: [0x00,0x00,0x35,0xdd,0x02,0x01,0x80,0x04]
flat_atomic_add_f32 a4, v[2:3], a1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_f16 v4, v[2:3], v1 sc0 ; encoding: [0x00,0x00,0x39,0xdd,0x02,0x01,0x00,0x04]
flat_atomic_pk_add_f16 v4, v[2:3], v1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_f16 a4, v[2:3], a1 sc0 ; encoding: [0x00,0x00,0x39,0xdd,0x02,0x01,0x80,0x04]
flat_atomic_pk_add_f16 a4, v[2:3], a1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_f16 v[2:3], v1 ; encoding: [0x00,0x00,0x38,0xdd,0x02,0x01,0x00,0x00]
flat_atomic_pk_add_f16 v[2:3], v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_f16 v[2:3], a1 ; encoding: [0x00,0x00,0x38,0xdd,0x02,0x01,0x80,0x00]
flat_atomic_pk_add_f16 v[2:3], a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_bf16 v4, v[2:3], v1 sc0 ; encoding: [0x00,0x00,0x49,0xdd,0x02,0x01,0x00,0x04]
flat_atomic_pk_add_bf16 v4, v[2:3], v1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_bf16 a4, v[2:3], a1 sc0 ; encoding: [0x00,0x00,0x49,0xdd,0x02,0x01,0x80,0x04]
flat_atomic_pk_add_bf16 a4, v[2:3], a1 sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_bf16 v[2:3], v1 ; encoding: [0x00,0x00,0x48,0xdd,0x02,0x01,0x00,0x00]
flat_atomic_pk_add_bf16 v[2:3], v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: flat_atomic_pk_add_bf16 v[2:3], a1 ; encoding: [0x00,0x00,0x48,0xdd,0x02,0x01,0x80,0x00]
flat_atomic_pk_add_bf16 v[2:3], a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_atomic_pk_add_bf16 v4, v[2:3], v1, off sc0 ; encoding: [0x00,0x80,0x49,0xdd,0x02,0x01,0x7f,0x04]
global_atomic_pk_add_bf16 v4, v[2:3], v1, off sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_atomic_pk_add_bf16 a4, v[2:3], a1, off sc0 ; encoding: [0x00,0x80,0x49,0xdd,0x02,0x01,0xff,0x04]
global_atomic_pk_add_bf16 a4, v[2:3], a1, off sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_atomic_pk_add_bf16 v[2:3], v1, off ; encoding: [0x00,0x80,0x48,0xdd,0x02,0x01,0x7f,0x00]
global_atomic_pk_add_bf16 v[2:3], v1, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_atomic_pk_add_bf16 v[2:3], a1, off ; encoding: [0x00,0x80,0x48,0xdd,0x02,0x01,0xff,0x00]
global_atomic_pk_add_bf16 v[2:3], a1, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_f16 v2, v1 ; encoding: [0x00,0x00,0x2e,0xd8,0x02,0x01,0x00,0x00]
ds_pk_add_f16 v2, v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_f16 v2, a1 ; encoding: [0x00,0x00,0x2e,0xda,0x02,0x01,0x00,0x00]
ds_pk_add_f16 v2, a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_rtn_f16 v3, v2, v1 ; encoding: [0x00,0x00,0x6e,0xd9,0x02,0x01,0x00,0x03]
ds_pk_add_rtn_f16 v3, v2, v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_rtn_f16 a3, v2, a1 ; encoding: [0x00,0x00,0x6e,0xdb,0x02,0x01,0x00,0x03]
ds_pk_add_rtn_f16 a3, v2, a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_bf16 v2, v1 ; encoding: [0x00,0x00,0x30,0xd8,0x02,0x01,0x00,0x00]
ds_pk_add_bf16 v2, v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_bf16 v2, a1 ; encoding: [0x00,0x00,0x30,0xda,0x02,0x01,0x00,0x00]
ds_pk_add_bf16 v2, a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_rtn_bf16 v3, v2, v1 ; encoding: [0x00,0x00,0x70,0xd9,0x02,0x01,0x00,0x03]
ds_pk_add_rtn_bf16 v3, v2, v1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: ds_pk_add_rtn_bf16 a3, v2, a1 ; encoding: [0x00,0x00,0x70,0xdb,0x02,0x01,0x00,0x03]
ds_pk_add_rtn_bf16 a3, v2, a1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_load_lds_dword v[2:3], off ; encoding: [0x00,0x80,0xa8,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_dword v[2:3], off
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: global_load_lds_dword v[2:3], off sc0 nt sc1 ; encoding: [0x00,0x80,0xab,0xde,0x02,0x00,0x7f,0x00]
global_load_lds_dword v[2:3], off sc0 nt sc1
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: global_load_lds_dword v[2:3], off offset:4 ; encoding: [0x04,0x80,0xa8,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_dword v[2:3], off offset:4
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: global_load_lds_dword v2, s[4:5] offset:4 ; encoding: [0x04,0x80,0xa8,0xdc,0x02,0x00,0x04,0x00]
global_load_lds_dword v2, s[4:5] offset:4
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_load_lds_ubyte v[2:3], off ; encoding: [0x00,0x80,0x98,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_ubyte v[2:3], off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_load_lds_sbyte v[2:3], off ; encoding: [0x00,0x80,0x9c,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_sbyte v[2:3], off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_load_lds_sshort v[2:3], off ; encoding: [0x00,0x80,0xa4,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_sshort v[2:3], off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: global_load_lds_ushort v[2:3], off ; encoding: [0x00,0x80,0xa0,0xdc,0x02,0x00,0x7f,0x00]
global_load_lds_ushort v[2:3], off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_dword v2, off ; encoding: [0x00,0x60,0xa8,0xdc,0x02,0x00,0x7f,0x00]
scratch_load_lds_dword v2, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_dword v2, s4 ; encoding: [0x00,0x60,0xa8,0xdc,0x02,0x00,0x04,0x00]
scratch_load_lds_dword v2, s4
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: scratch_load_lds_dword v2, s4 offset:4 ; encoding: [0x04,0x60,0xa8,0xdc,0x02,0x00,0x04,0x00]
scratch_load_lds_dword v2, s4 offset:4
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: scratch_load_lds_dword off, s4 offset:4 ; encoding: [0x04,0x40,0xa8,0xdc,0x00,0x00,0x04,0x00]
scratch_load_lds_dword off, s4 offset:4
// NOT-GFX940: error:
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error:
// GFX940: scratch_load_lds_dword off, off offset:4 ; encoding: [0x04,0x40,0xa8,0xdc,0x00,0x00,0x7f,0x00]
scratch_load_lds_dword off, off offset:4
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_ubyte v2, off ; encoding: [0x00,0x60,0x98,0xdc,0x02,0x00,0x7f,0x00]
scratch_load_lds_ubyte v2, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_sbyte v2, off ; encoding: [0x00,0x60,0x9c,0xdc,0x02,0x00,0x7f,0x00]
scratch_load_lds_sbyte v2, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_ushort v2, off ; encoding: [0x00,0x60,0xa0,0xdc,0x02,0x00,0x7f,0x00]
scratch_load_lds_ushort v2, off
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: scratch_load_lds_sshort v2, off ; encoding: [0x00,0x60,0xa4,0xdc,0x02,0x00,0x7f,0x00]
scratch_load_lds_sshort v2, off
// NOT-GFX940: error: specified hardware register is not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX940: s_getreg_b32 s1, hwreg(HW_REG_XCC_ID) ; encoding: [0x14,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(HW_REG_XCC_ID)
// NOT-GFX940: error: specified hardware register is not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX940: s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA) ; encoding: [0x15,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA)
// NOT-GFX940: error: specified hardware register is not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX940: s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA1) ; encoding: [0x16,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_DATA1)
// NOT-GFX940: error: specified hardware register is not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX940: s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_LO) ; encoding: [0x17,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_LO)
// NOT-GFX940: error: specified hardware register is not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX940: s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_HI) ; encoding: [0x18,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(HW_REG_SQ_PERF_SNAPSHOT_PC_HI)
@ -238,374 +238,374 @@ s_getreg_b32 s1, hwreg(24)
// GFX940: s_getreg_b32 s1, hwreg(25) ; encoding: [0x19,0xf8,0x81,0xb8]
s_getreg_b32 s1, hwreg(25)
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_mov_b64_e32 v[2:3], v[4:5] ; encoding: [0x04,0x71,0x04,0x7e]
v_mov_b64 v[2:3], v[4:5]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_mov_b64_dpp v[2:3], v[4:5] row_newbcast:1 row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0x70,0x04,0x7e,0x04,0x51,0x01,0xff]
v_mov_b64 v[2:3], v[4:5] row_newbcast:1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_mov_b64_e32 v[2:3], s[4:5] ; encoding: [0x04,0x70,0x04,0x7e]
v_mov_b64 v[2:3], s[4:5]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_mov_b64_e32 v[2:3], 1 ; encoding: [0x81,0x70,0x04,0x7e]
v_mov_b64 v[2:3], 1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_mov_b64_e32 v[2:3], 0x64 ; encoding: [0xff,0x70,0x04,0x7e,0x64,0x00,0x00,0x00]
v_mov_b64 v[2:3], 0x64
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_lshl_add_u64 v[2:3], s[4:5], v7, v[8:9] ; encoding: [0x02,0x00,0x08,0xd2,0x04,0x0e,0x22,0x04]
v_lshl_add_u64 v[2:3], s[4:5], v7, v[8:9]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_lshl_add_u64 v[2:3], v[4:5], 0, 1 ; encoding: [0x02,0x00,0x08,0xd2,0x04,0x01,0x05,0x02]
v_lshl_add_u64 v[2:3], v[4:5], 0, 1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_lshl_add_u64 v[2:3], v[4:5], 3, s[2:3] ; encoding: [0x02,0x00,0x08,0xd2,0x04,0x07,0x09,0x00]
v_lshl_add_u64 v[2:3], v[4:5], 3, s[2:3]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_lshl_add_u64 v[2:3], s[4:5], 4, v[2:3] ; encoding: [0x02,0x00,0x08,0xd2,0x04,0x08,0x09,0x04]
v_lshl_add_u64 v[2:3], s[4:5], 4, v[2:3]
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_wbl2 sc1 ; encoding: [0x00,0x80,0xa0,0xe0,0x00,0x00,0x00,0x00]
buffer_wbl2 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_wbl2 sc0 ; encoding: [0x00,0x40,0xa0,0xe0,0x00,0x00,0x00,0x00]
buffer_wbl2 sc0
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_wbl2 sc0 sc1 ; encoding: [0x00,0xc0,0xa0,0xe0,0x00,0x00,0x00,0x00]
buffer_wbl2 sc0 sc1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: buffer_inv sc0 ; encoding: [0x00,0x40,0xa4,0xe0,0x00,0x00,0x00,0x00]
buffer_inv sc0
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: buffer_inv sc1 ; encoding: [0x00,0x80,0xa4,0xe0,0x00,0x00,0x00,0x00]
buffer_inv sc1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: buffer_inv sc0 sc1 ; encoding: [0x00,0xc0,0xa4,0xe0,0x00,0x00,0x00,0x00]
buffer_inv sc0 sc1
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: buffer_atomic_swap v5, off, s[8:11], s3 sc0 ; encoding: [0x00,0x40,0x00,0xe1,0x00,0x05,0x02,0x03]
buffer_atomic_swap v5, off, s[8:11], s3 sc0
// NOT-GFX940: error: invalid operand for instruction
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX940: buffer_atomic_swap v5, off, s[8:11], s3 nt ; encoding: [0x00,0x00,0x02,0xe1,0x00,0x05,0x02,0x03]
buffer_atomic_swap v5, off, s[8:11], s3 nt
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_fmamk_f32 v0, v2, 0x42c80000, v3 ; encoding: [0x02,0x07,0x00,0x2e,0x00,0x00,0xc8,0x42]
v_fmamk_f32 v0, v2, 100.0, v3
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_fmaak_f32 v0, v2, v3, 0x42c80000 ; encoding: [0x02,0x07,0x00,0x30,0x00,0x00,0xc8,0x42]
v_fmaak_f32 v0, v2, v3, 100.0
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_add_f32 v0, v[0:1], v2, off sc0 sc1 ; encoding: [0x00,0x80,0x35,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_add_f32 v0, v[0:1], v2, off sc0 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_add_f32 v[0:1], v2, off sc1 ; encoding: [0x00,0x80,0x34,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_add_f32 v[0:1], v2, off sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_add_f32 v0, v2, s[0:1] sc1 ; encoding: [0x00,0x80,0x34,0xdf,0x00,0x02,0x00,0x00]
global_atomic_add_f32 v0, v2, s[0:1] sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_add_f32 v1, v0, v2, s[0:1] sc0 sc1 ; encoding: [0x00,0x80,0x35,0xdf,0x00,0x02,0x00,0x01]
global_atomic_add_f32 v1, v0, v2, s[0:1] sc0 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_pk_add_f16 v0, v[0:1], v2, off sc0 sc1 ; encoding: [0x00,0x80,0x39,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_pk_add_f16 v0, v[0:1], v2, off sc0 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f64 v[0:1], v[0:1], v[2:3] sc0 sc1 ; encoding: [0x00,0x00,0x3d,0xdf,0x00,0x02,0x00,0x00]
flat_atomic_add_f64 v[0:1], v[0:1], v[2:3] sc0 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: flat_atomic_add_f64 v[0:1], v[2:3] sc1 ; encoding: [0x00,0x00,0x3c,0xdf,0x00,0x02,0x00,0x00]
flat_atomic_add_f64 v[0:1], v[2:3] sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: flat_atomic_min_f64 v[0:1], v[2:3] sc1 ; encoding: [0x00,0x00,0x40,0xdf,0x00,0x02,0x00,0x00]
flat_atomic_min_f64 v[0:1], v[2:3] sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: flat_atomic_max_f64 v[0:1], v[2:3] sc1 ; encoding: [0x00,0x00,0x44,0xdf,0x00,0x02,0x00,0x00]
flat_atomic_max_f64 v[0:1], v[2:3] sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_add_f64 v[0:1], v[2:3], off sc1 ; encoding: [0x00,0x80,0x3c,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_add_f64 v[0:1], v[2:3], off sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_min_f64 v[0:1], v[2:3], off sc1 ; encoding: [0x00,0x80,0x40,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_min_f64 v[0:1], v[2:3], off sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: global_atomic_max_f64 v[0:1], v[2:3], off sc1 ; encoding: [0x00,0x80,0x44,0xdf,0x00,0x02,0x7f,0x00]
global_atomic_max_f64 v[0:1], v[2:3], off sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_atomic_add_f32 v4, off, s[8:11], s3 sc1 ; encoding: [0x00,0x80,0x34,0xe1,0x00,0x04,0x02,0x03]
buffer_atomic_add_f32 v4, off, s[8:11], s3 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_atomic_pk_add_f16 v4, off, s[8:11], s3 sc1 ; encoding: [0x00,0x80,0x38,0xe1,0x00,0x04,0x02,0x03]
buffer_atomic_pk_add_f16 v4, off, s[8:11], s3 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_atomic_add_f64 v[4:5], off, s[8:11], s3 sc1 ; encoding: [0x00,0x80,0x3c,0xe1,0x00,0x04,0x02,0x03]
buffer_atomic_add_f64 v[4:5], off, s[8:11], s3 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_atomic_max_f64 v[4:5], off, s[8:11], s3 sc1 ; encoding: [0x00,0x80,0x44,0xe1,0x00,0x04,0x02,0x03]
buffer_atomic_max_f64 v[4:5], off, s[8:11], s3 sc1
// GFX90A: error: invalid operand for instruction
// GFX90A: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10: error: instruction not supported on this GPU
// GFX940: buffer_atomic_min_f64 v[4:5], off, s[8:11], s3 sc1 ; encoding: [0x00,0x80,0x40,0xe1,0x00,0x04,0x02,0x03]
buffer_atomic_min_f64 v[4:5], off, s[8:11], s3 sc1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_e32 v1, s3 ; encoding: [0x03,0xaa,0x02,0x7e]
v_cvt_f32_bf8 v1, s3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_e32 v1, 3 ; encoding: [0x83,0xaa,0x02,0x7e]
v_cvt_f32_bf8 v1, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_e32 v1, v3 ; encoding: [0x03,0xab,0x02,0x7e]
v_cvt_f32_bf8 v1, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_sdwa v1, s3 src0_sel:BYTE_1 ; encoding: [0xf9,0xaa,0x02,0x7e,0x03,0x06,0x81,0x00]
v_cvt_f32_bf8 v1, s3 src0_sel:BYTE_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_dpp v1, v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0xaa,0x02,0x7e,0x03,0x58,0x00,0xff]
v_cvt_f32_bf8 v1, v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_e64 v1, s3 mul:2 ; encoding: [0x01,0x00,0x95,0xd1,0x03,0x00,0x00,0x08]
v_cvt_f32_bf8 v1, s3 mul:2
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_sdwa v1, s3 clamp mul:2 src0_sel:BYTE_1 ; encoding: [0xf9,0xaa,0x02,0x7e,0x03,0x66,0x81,0x00]
v_cvt_f32_bf8 v1, s3 clamp mul:2 src0_sel:BYTE_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_bf8_e64 v1, s3 clamp ; encoding: [0x01,0x80,0x95,0xd1,0x03,0x00,0x00,0x00]
v_cvt_f32_bf8 v1, s3 clamp
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_e32 v1, s3 ; encoding: [0x03,0xa8,0x02,0x7e]
v_cvt_f32_fp8 v1, s3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_e32 v1, 3 ; encoding: [0x83,0xa8,0x02,0x7e]
v_cvt_f32_fp8 v1, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_e32 v1, v3 ; encoding: [0x03,0xa9,0x02,0x7e]
v_cvt_f32_fp8 v1, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_sdwa v1, s3 src0_sel:BYTE_1 ; encoding: [0xf9,0xa8,0x02,0x7e,0x03,0x06,0x81,0x00]
v_cvt_f32_fp8 v1, s3 src0_sel:BYTE_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_dpp v1, v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0xa8,0x02,0x7e,0x03,0x58,0x00,0xff]
v_cvt_f32_fp8 v1, v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_e64 v1, s3 mul:2 ; encoding: [0x01,0x00,0x94,0xd1,0x03,0x00,0x00,0x08]
v_cvt_f32_fp8 v1, s3 mul:2
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_sdwa v1, s3 clamp mul:2 src0_sel:BYTE_1 ; encoding: [0xf9,0xa8,0x02,0x7e,0x03,0x66,0x81,0x00]
v_cvt_f32_fp8 v1, s3 clamp mul:2 src0_sel:BYTE_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_e64 v1, s3 clamp ; encoding: [0x01,0x80,0x94,0xd1,0x03,0x00,0x00,0x00]
v_cvt_f32_fp8 v1, s3 clamp
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_f32_fp8_sdwa v1, 3 src0_sel:BYTE_1 ; encoding: [0xf9,0xa8,0x02,0x7e,0x83,0x06,0x81,0x00]
v_cvt_f32_fp8 v1, 3 src0_sel:BYTE_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_e32 v[2:3], s3 ; encoding: [0x03,0xae,0x04,0x7e]
v_cvt_pk_f32_bf8 v[2:3], s3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_e32 v[2:3], 3 ; encoding: [0x83,0xae,0x04,0x7e]
v_cvt_pk_f32_bf8 v[2:3], 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_e32 v[2:3], v3 ; encoding: [0x03,0xaf,0x04,0x7e]
v_cvt_pk_f32_bf8 v[2:3], v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_sdwa v[2:3], s3 src0_sel:WORD_1 ; encoding: [0xf9,0xae,0x04,0x7e,0x03,0x06,0x85,0x00]
v_cvt_pk_f32_bf8 v[2:3], s3 src0_sel:WORD_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_dpp v[0:1], v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0xae,0x00,0x7e,0x03,0x58,0x00,0xff]
v_cvt_pk_f32_bf8 v[0:1], v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_e64 v[2:3], s3 mul:2 ; encoding: [0x02,0x00,0x97,0xd1,0x03,0x00,0x00,0x08]
v_cvt_pk_f32_bf8 v[2:3], s3 mul:2
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_sdwa v[2:3], s3 clamp mul:2 src0_sel:WORD_1 ; encoding: [0xf9,0xae,0x04,0x7e,0x03,0x66,0x85,0x00]
v_cvt_pk_f32_bf8 v[2:3], s3 clamp mul:2 src0_sel:WORD_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_bf8_e64 v[2:3], s3 clamp ; encoding: [0x02,0x80,0x97,0xd1,0x03,0x00,0x00,0x00]
v_cvt_pk_f32_bf8 v[2:3], s3 clamp
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_e32 v[2:3], s3 ; encoding: [0x03,0xac,0x04,0x7e]
v_cvt_pk_f32_fp8 v[2:3], s3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_e32 v[2:3], 3 ; encoding: [0x83,0xac,0x04,0x7e]
v_cvt_pk_f32_fp8 v[2:3], 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_e32 v[2:3], v3 ; encoding: [0x03,0xad,0x04,0x7e]
v_cvt_pk_f32_fp8 v[2:3], v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_sdwa v[2:3], s3 src0_sel:WORD_1 ; encoding: [0xf9,0xac,0x04,0x7e,0x03,0x06,0x85,0x00]
v_cvt_pk_f32_fp8 v[2:3], s3 src0_sel:WORD_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_sdwa v[2:3], 3 src0_sel:WORD_1 ; encoding: [0xf9,0xac,0x04,0x7e,0x83,0x06,0x85,0x00]
v_cvt_pk_f32_fp8 v[2:3], 3 src0_sel:WORD_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_dpp v[0:1], v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf ; encoding: [0xfa,0xac,0x00,0x7e,0x03,0x58,0x00,0xff]
v_cvt_pk_f32_fp8 v[0:1], v3 quad_perm:[0,2,1,1] row_mask:0xf bank_mask:0xf
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_e64 v[2:3], s3 mul:2 ; encoding: [0x02,0x00,0x96,0xd1,0x03,0x00,0x00,0x08]
v_cvt_pk_f32_fp8 v[2:3], s3 mul:2
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_sdwa v[2:3], s3 clamp mul:2 src0_sel:WORD_1 ; encoding: [0xf9,0xac,0x04,0x7e,0x03,0x66,0x85,0x00]
v_cvt_pk_f32_fp8 v[2:3], s3 clamp mul:2 src0_sel:WORD_1
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_f32_fp8_e64 v[2:3], s3 clamp ; encoding: [0x02,0x80,0x96,0xd1,0x03,0x00,0x00,0x00]
v_cvt_pk_f32_fp8 v[2:3], s3 clamp
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_bf8_f32 v1, v2, v3 ; encoding: [0x01,0x00,0xa3,0xd2,0x02,0x07,0x02,0x00]
v_cvt_pk_bf8_f32 v1, v2, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_bf8_f32 v1, -v2, |v3| ; encoding: [0x01,0x02,0xa3,0xd2,0x02,0x07,0x02,0x20]
v_cvt_pk_bf8_f32 v1, -v2, |v3|
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_bf8_f32 v1, s2, 3 ; encoding: [0x01,0x00,0xa3,0xd2,0x02,0x06,0x01,0x00]
v_cvt_pk_bf8_f32 v1, s2, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_bf8_f32 v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x01,0x40,0xa3,0xd2,0x02,0x07,0x02,0x00]
v_cvt_pk_bf8_f32 v1, v2, v3 op_sel:[0,0,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_fp8_f32 v1, v2, v3 ; encoding: [0x01,0x00,0xa2,0xd2,0x02,0x07,0x02,0x00]
v_cvt_pk_fp8_f32 v1, v2, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_fp8_f32 v1, -v2, |v3| ; encoding: [0x01,0x02,0xa2,0xd2,0x02,0x07,0x02,0x20]
v_cvt_pk_fp8_f32 v1, -v2, |v3|
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_fp8_f32 v1, s2, 3 ; encoding: [0x01,0x00,0xa2,0xd2,0x02,0x06,0x01,0x00]
v_cvt_pk_fp8_f32 v1, s2, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_pk_fp8_f32 v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x01,0x40,0xa2,0xd2,0x02,0x07,0x02,0x00]
v_cvt_pk_fp8_f32 v1, v2, v3 op_sel:[0,0,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_bf8_f32 v1, v2, v3 ; encoding: [0x01,0x00,0xa5,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_bf8_f32 v1, v2, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_bf8_f32 v1, s2, 3 ; encoding: [0x01,0x00,0xa5,0xd2,0x02,0x06,0x01,0x00]
v_cvt_sr_bf8_f32 v1, s2, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_bf8_f32 v1, v2, v3 op_sel:[0,0,1,1] ; encoding: [0x01,0x60,0xa5,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_bf8_f32 v1, v2, v3 op_sel:[0,0,1,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_bf8_f32 v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x01,0x40,0xa5,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_bf8_f32 v1, v2, v3 op_sel:[0,0,0,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_bf8_f32 v1, -|s2|, v3 ; encoding: [0x01,0x01,0xa5,0xd2,0x02,0x06,0x02,0x20]
v_cvt_sr_bf8_f32 v1, -|s2|, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_fp8_f32 v1, v2, v3 ; encoding: [0x01,0x00,0xa4,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_fp8_f32 v1, v2, v3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_fp8_f32 v1, s2, 3 ; encoding: [0x01,0x00,0xa4,0xd2,0x02,0x06,0x01,0x00]
v_cvt_sr_fp8_f32 v1, s2, 3
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_fp8_f32 v1, v2, v3 op_sel:[0,0,1,1] ; encoding: [0x01,0x60,0xa4,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_fp8_f32 v1, v2, v3 op_sel:[0,0,1,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_fp8_f32 v1, v2, v3 op_sel:[0,0,0,1] ; encoding: [0x01,0x40,0xa4,0xd2,0x02,0x07,0x02,0x00]
v_cvt_sr_fp8_f32 v1, v2, v3 op_sel:[0,0,0,1]
// NOT-GFX940: error: instruction not supported on this GPU
// NOT-GFX940: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX940: v_cvt_sr_fp8_f32 v1, -|s2|, v3 ; encoding: [0x01,0x01,0xa4,0xd2,0x02,0x06,0x02,0x20]
v_cvt_sr_fp8_f32 v1, -|s2|, v3

View File

@ -1,127 +1,127 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx940 %s 2>&1 | FileCheck --check-prefix=GFX940 --implicit-check-not=error: %s
v_mac_f32 v0, v1, v2
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mac_f32_e64 v5, v1, v2
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mac_f32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0xf
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mac_f32_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mac_f32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_f32 v0, v1, v2, v3
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_madak_f32 v0, v1, v2, 0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_madmk_f32 v0, v1, 0, v2
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_legacy_f32 v0, v1, v2, v3
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mov_b64 v[2:3], v[4:5] row_shl:1
// GFX940: error: 64 bit dpp only supports row_newbcast
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: 64 bit dpp only supports row_newbcast
v_mov_b64 v[2:3], -v[4:5]
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b64 v[2:3], |v[4:5]|
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b64 v[2:3], v[4:5] dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_mov_b64_sdwa v[2:3], v[4:5]
// GFX940: error: sdwa variant of this instruction is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
buffer_invl2
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v2, v[2:3], off glc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
global_load_dword v2, v[2:3], off slc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
global_load_dword v2, v[2:3], off scc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_load_dword s2, s[2:3], 0x0 sc0
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_swap v5, off, s[8:11], s3 glc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_swap v5, off, s[8:11], s3 slc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_wbl2 glc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_wbl2 scc
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_dot2_u32_u16 v0, 1, v0, s2 op_sel:[0,1,0,1] op_sel_hi:[0,0,1,1]
// GFX940: error: invalid op_sel operand
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid op_sel operand
v_cvt_f32_fp8 v1, sext(v3) src0_sel:BYTE_1
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_pk_f32_bf8 v[2:3], sext(v3) src0_sel:BYTE_1
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_sr_bf8_f32 v1, v2, -v3
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_sr_fp8_f32 v1, v2, -v3
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_sr_fp8_f32 v1, v2, v3 clamp
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_sr_fp8_f32 v1, v2, v3 mul:2
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
v_cvt_pk_fp8_f32 v1, v2, v3 clamp
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_cvt_pk_fp8_f32 v1, v2, v3 mul:2
// GFX940: error: not a valid operand.
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
s_getreg_b32 s1, hwreg(HW_REG_FLAT_SCR_LO)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s1, hwreg(HW_REG_FLAT_SCR_HI)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s1, hwreg(HW_REG_XNACK_MASK)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s1, hwreg(HW_REG_HW_ID1)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s1, hwreg(HW_REG_HW_ID2)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s1, hwreg(HW_REG_POPS_PACKER)
// GFX940: error: specified hardware register is not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
ds_ordered_count v5, v1 offset:65535 gds
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
exp pos0 v3, v2, v1, v0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
global_load_dword v[2:3], off lds
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
scratch_load_dword v2, off lds
// GFX940: error: invalid operand for instruction
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -4,11 +4,11 @@
// instruction must not use sc0
global_atomic_or v[0:1], v2, off sc1 nt sc0
// CHECK: error: instruction must not use sc0
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use sc0
// CHECK-NEXT:{{^}}global_atomic_or v[0:1], v2, off sc1 nt sc0
// CHECK-NEXT:{{^}} ^
global_atomic_or v[0:1], v2, off sc0 sc1 nt
// CHECK: error: instruction must not use sc0
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: instruction must not use sc0
// CHECK-NEXT:{{^}}global_atomic_or v[0:1], v2, off sc0 sc1 nt
// CHECK-NEXT:{{^}} ^

View File

@ -4,7 +4,7 @@
// 'null' operand is not supported on this GPU
s_add_u32 null, null, null
// CHECK: error: 'null' operand is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// CHECK-NEXT:{{^}}s_add_u32 null, null, null
// CHECK-NEXT:{{^}} ^
@ -12,7 +12,7 @@ s_add_u32 null, null, null
// ABS not allowed in VOP3B instructions
v_div_scale_f64 v[24:25], vcc, -|v[22:23]|, v[22:23], v[20:21]
// CHECK: error: ABS not allowed in VOP3B instructions
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: ABS not allowed in VOP3B instructions
// CHECK-NEXT:{{^}}v_div_scale_f64 v[24:25], vcc, -|v[22:23]|, v[22:23], v[20:21]
// CHECK-NEXT:{{^}}^
@ -20,12 +20,12 @@ v_div_scale_f64 v[24:25], vcc, -|v[22:23]|, v[22:23], v[20:21]
// dlc modifier is not supported on this GPU
scratch_load_ubyte v1, v2, off dlc
// CHECK: error: dlc modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// CHECK-NEXT:{{^}}scratch_load_ubyte v1, v2, off dlc
// CHECK-NEXT:{{^}} ^
scratch_load_ubyte v1, v2, off nodlc
// CHECK: error: dlc modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: dlc modifier is not supported on this GPU
// CHECK-NEXT:{{^}}scratch_load_ubyte v1, v2, off nodlc
// CHECK-NEXT:{{^}} ^
@ -33,7 +33,7 @@ scratch_load_ubyte v1, v2, off nodlc
// duplicate VGPR index mode
s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC1,DST)
// CHECK: error: duplicate VGPR index mode
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate VGPR index mode
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC1,DST)
// CHECK-NEXT:{{^}} ^
@ -41,7 +41,7 @@ s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC1,DST)
// exp target is not supported on this GPU
exp pos4 v4, v3, v2, v1
// CHECK: error: exp target is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: exp target is not supported on this GPU
// CHECK-NEXT:{{^}}exp pos4 v4, v3, v2, v1
// CHECK-NEXT:{{^}} ^
@ -49,12 +49,12 @@ exp pos4 v4, v3, v2, v1
// expected a 12-bit unsigned offset
flat_load_dword v1, v[3:4] offset:-1
// CHECK: error: expected a 12-bit unsigned offset
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 12-bit unsigned offset
// CHECK-NEXT:{{^}}flat_load_dword v1, v[3:4] offset:-1
// CHECK-NEXT:{{^}} ^
flat_load_dword v1, v[3:4] offset:4096
// CHECK: error: expected a 12-bit unsigned offset
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 12-bit unsigned offset
// CHECK-NEXT:{{^}}flat_load_dword v1, v[3:4] offset:4096
// CHECK-NEXT:{{^}} ^
@ -62,7 +62,7 @@ flat_load_dword v1, v[3:4] offset:4096
// expected a 13-bit signed offset
global_load_dword v1, v[3:4] off, offset:-4097
// CHECK: error: expected a 13-bit signed offset
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 13-bit signed offset
// CHECK-NEXT:{{^}}global_load_dword v1, v[3:4] off, offset:-4097
// CHECK-NEXT:{{^}} ^
@ -70,7 +70,7 @@ global_load_dword v1, v[3:4] off, offset:-4097
// expected a VGPR index mode
s_set_gpr_idx_on s0, gpr_idx(SRC0,
// CHECK: error: expected a VGPR index mode
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx(SRC0,
// CHECK-NEXT:{{^}} ^
@ -78,12 +78,12 @@ s_set_gpr_idx_on s0, gpr_idx(SRC0,
// expected a VGPR index mode or a closing parenthesis
s_set_gpr_idx_on s0, gpr_idx(
// CHECK: error: expected a VGPR index mode or a closing parenthesis
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode or a closing parenthesis
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx(
// CHECK-NEXT:{{^}} ^
s_set_gpr_idx_on s0, gpr_idx(X)
// CHECK: error: expected a VGPR index mode or a closing parenthesis
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode or a closing parenthesis
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx(X)
// CHECK-NEXT:{{^}} ^
@ -91,7 +91,7 @@ s_set_gpr_idx_on s0, gpr_idx(X)
// expected a comma or a closing parenthesis
s_set_gpr_idx_on s0, gpr_idx(DST
// CHECK: error: expected a comma or a closing parenthesis
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma or a closing parenthesis
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx(DST
// CHECK-NEXT:{{^}} ^
@ -99,12 +99,12 @@ s_set_gpr_idx_on s0, gpr_idx(DST
// expected absolute expression
s_set_gpr_idx_on s0, gpr_idx
// CHECK: error: expected absolute expression
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, gpr_idx
// CHECK-NEXT:{{^}} ^
s_set_gpr_idx_on s0, s1
// CHECK: error: expected absolute expression
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, s1
// CHECK-NEXT:{{^}} ^
@ -112,12 +112,12 @@ s_set_gpr_idx_on s0, s1
// invalid atomic image dmask
image_atomic_add v252, v2, s[8:15]
// CHECK: error: invalid atomic image dmask
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid atomic image dmask
// CHECK-NEXT:{{^}}image_atomic_add v252, v2, s[8:15]
// CHECK-NEXT:{{^}}^
image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
// CHECK: error: invalid atomic image dmask
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid atomic image dmask
// CHECK-NEXT:{{^}}image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
// CHECK-NEXT:{{^}} ^
@ -125,7 +125,7 @@ image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
// invalid image_gather dmask: only one bit must be set
image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x3
// CHECK: error: invalid image_gather dmask: only one bit must be set
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid image_gather dmask: only one bit must be set
// CHECK-NEXT:{{^}}image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x3
// CHECK-NEXT:{{^}} ^
@ -133,7 +133,7 @@ image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x3
// invalid immediate: only 4-bit values are legal
s_set_gpr_idx_on s0, 16
// CHECK: error: invalid immediate: only 4-bit values are legal
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid immediate: only 4-bit values are legal
// CHECK-NEXT:{{^}}s_set_gpr_idx_on s0, 16
// CHECK-NEXT:{{^}} ^
@ -141,17 +141,17 @@ s_set_gpr_idx_on s0, 16
// invalid operand (violates constant bus restrictions)
v_add_f32_e64 v0, flat_scratch_hi, m0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// CHECK-NEXT:{{^}}v_add_f32_e64 v0, flat_scratch_hi, m0
// CHECK-NEXT:{{^}} ^
v_madak_f32 v5, s1, v2, 0xa1b1c1d1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// CHECK-NEXT:{{^}}v_madak_f32 v5, s1, v2, 0xa1b1c1d1
// CHECK-NEXT:{{^}} ^
v_madmk_f32 v5, s1, 0x11213141, v255
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// CHECK-NEXT:{{^}}v_madmk_f32 v5, s1, 0x11213141, v255
// CHECK-NEXT:{{^}} ^
@ -159,22 +159,22 @@ v_madmk_f32 v5, s1, 0x11213141, v255
// literal operands are not supported
v_bfe_u32 v0, v2, v3, undef
// CHECK: error: literal operands are not supported
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// CHECK-NEXT:{{^}}v_bfe_u32 v0, v2, v3, undef
// CHECK-NEXT:{{^}} ^
v_bfe_u32 v0, v2, undef, v3
// CHECK: error: literal operands are not supported
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// CHECK-NEXT:{{^}}v_bfe_u32 v0, v2, undef, v3
// CHECK-NEXT:{{^}} ^
v_add_i16 v5, v1, 0.5
// CHECK: error: literal operands are not supported
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// CHECK-NEXT:{{^}}v_add_i16 v5, v1, 0.5
// CHECK-NEXT:{{^}} ^
v_add_i16 v5, 0.5, v2
// CHECK: error: literal operands are not supported
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// CHECK-NEXT:{{^}}v_add_i16 v5, 0.5, v2
// CHECK-NEXT:{{^}} ^
@ -182,12 +182,12 @@ v_add_i16 v5, 0.5, v2
// too few operands for instruction
buffer_load_dword off, s[8:11], s3
// CHECK: error: too few operands for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
// CHECK-NEXT:{{^}}buffer_load_dword off, s[8:11], s3
// CHECK-NEXT:{{^}}^
buffer_load_dword off, s[8:11], s3 offset:1
// CHECK: error: too few operands for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
// CHECK-NEXT:{{^}}buffer_load_dword off, s[8:11], s3 offset:1
// CHECK-NEXT:{{^}}^
@ -195,12 +195,12 @@ buffer_load_dword off, s[8:11], s3 offset:1
// r128 modifier is not supported on this GPU
image_atomic_add v10, v6, s[8:15] dmask:0x1 r128
// CHECK: error: r128 modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
// CHECK-NEXT:{{^}}image_atomic_add v10, v6, s[8:15] dmask:0x1 r128
// CHECK-NEXT:{{^}} ^
image_atomic_add v10, v6, s[8:15] dmask:0x1 nor128
// CHECK: error: r128 modifier is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
// CHECK-NEXT:{{^}}image_atomic_add v10, v6, s[8:15] dmask:0x1 nor128
// CHECK-NEXT:{{^}} ^
@ -208,7 +208,7 @@ image_atomic_add v10, v6, s[8:15] dmask:0x1 nor128
// unified format is not supported on this GPU
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,BUF_DATA_FORMAT_8] idxen
// CHECK: error: unified format is not supported on this GPU
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: unified format is not supported on this GPU
// CHECK-NEXT:{{^}}tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,BUF_DATA_FORMAT_8] idxen
// CHECK-NEXT:{{^}} ^
@ -216,7 +216,7 @@ tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,BUF_DAT
// duplicate format
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:1 s0 format:[BUF_NUM_FORMAT_FLOAT]
// CHECK: error: duplicate format
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate format
// CHECK-NEXT:{{^}}tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:1 s0 format:[BUF_NUM_FORMAT_FLOAT]
// CHECK-NEXT:{{^}} ^
@ -224,7 +224,7 @@ tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:1 s0 format:[BUF_NUM_FORM
// not a valid operand
v_cndmask_b32_sdwa v5, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 src1_sel:WORD_0
// CHECK: error: not a valid operand.
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// CHECK-NEXT:{{^}}v_cndmask_b32_sdwa v5, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 src1_sel:WORD_0
// CHECK-NEXT:{{^}} ^
@ -232,7 +232,7 @@ v_cndmask_b32_sdwa v5, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERV
// out of range dfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:16 nfmt:1 s0
// CHECK: error: out of range dfmt
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: out of range dfmt
// CHECK-NEXT:{{^}}tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:16 nfmt:1 s0
// CHECK-NEXT:{{^}} ^
@ -240,6 +240,6 @@ tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:16 nfmt:1 s0
// out of range nfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:-1 s0
// CHECK: error: out of range nfmt
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: out of range nfmt
// CHECK-NEXT:{{^}}tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:-1 s0
// CHECK-NEXT:{{^}} ^

File diff suppressed because it is too large Load Diff

View File

@ -5,77 +5,77 @@
//---------------------------------------------------------------------------//
s_and_b32 s2, lds_direct, s1
// NOGFX9: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
//---------------------------------------------------------------------------//
// lds_direct may not be used with "REV" opcodes
//---------------------------------------------------------------------------//
v_ashrrev_i16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_ashrrev_i32 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshlrev_b16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshlrev_b32 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshrrev_b16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshrrev_b32 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_ashrrev_i16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_lshlrev_b16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_lshrrev_b16 v0, lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subbrev_co_u32 v0, vcc, src_lds_direct, v0, vcc
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_co_u32 v0, vcc, src_lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_f16 v0, src_lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_u16 v0, src_lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_u32 v0, src_lds_direct, v0
// NOGFX9: error: lds_direct cannot be used with this instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
//---------------------------------------------------------------------------//
// lds_direct may not be used with v_writelane_b32 for VI/GFX9
//---------------------------------------------------------------------------//
v_writelane_b32 v0, lds_direct, s0
// NOGFX9: error: operands are not valid for this GPU or mode
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
//---------------------------------------------------------------------------//
// lds_direct cannot be used with 64-bit and larger operands
//---------------------------------------------------------------------------//
v_add_f64 v[0:1], lds_direct, v[0:1]
// NOGFX9: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
//---------------------------------------------------------------------------//
// Only SRC0 may specify lds_direct
//---------------------------------------------------------------------------//
v_add_i32 v0, v0, lds_direct
// NOGFX9: error: lds_direct may be used as src0 only
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct may be used as src0 only
v_add_i32 lds_direct, v0, v0
// NOGFX9: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fma_f32 v0, v0, v0, lds_direct
// NOGFX9: error: lds_direct may be used as src0 only
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct may be used as src0 only

View File

@ -11,49 +11,49 @@ v_writelane_b32 v0, lds_direct, s0
// GFX10: v_writelane_b32 v0, src_lds_direct, s0 ; encoding: [0x00,0x00,0x61,0xd7,0xfe,0x00,0x00,0x00]
v_permlane16_b32 v0, lds_direct, s0, s0
// NOGFX10: error: invalid operand for instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_permlanex16_b32 v0, lds_direct, s0, s0
// NOGFX10: error: invalid operand for instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ashrrev_i16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_ashrrev_i32 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshlrev_b16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshlrev_b32 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshrrev_b16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_lshrrev_b32 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_ashrrev_i16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_lshlrev_b16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_pk_lshrrev_b16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_co_ci_u32 v0, vcc_lo, src_lds_direct, v0, vcc_lo
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_co_u32 v0, s0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_f16 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_f32 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction
v_subrev_nc_u32 v0, src_lds_direct, v0
// NOGFX10: error: lds_direct cannot be used with this instruction
// NOGFX10: :[[@LINE-1]]:{{[0-9]+}}: error: lds_direct cannot be used with this instruction

View File

@ -1,28 +1,28 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
v_add_f16 v1, 0xfffff, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f16 v1, 0x10000, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f16 v1, 0xffffffffffff000f, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f16 v1, 0x1000ffff, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f16 v1, -32769, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f16 v1, 65536, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f32 v1, 4294967296, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_add_f32 v1, 0x0000000100000000, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_and_b32 v1, 0x0000000100000000, v2
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -23,7 +23,7 @@ v_fract_f64 v[0:1], 0.5
v_sqrt_f64 v[0:1], -4.0
// SICI: v_log_clamp_f32_e32 v1, 0.5 ; encoding: [0xf0,0x4c,0x02,0x7e]
// NOGFX89: error: instruction not supported on this GPU
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_log_clamp_f32 v1, 0.5
// SICI: v_fract_f64_e32 v[0:1], 0.5 ; encoding: [0xf0,0x7c,0x00,0x7e]
@ -110,8 +110,8 @@ v_trunc_f32 v0, 2.3509886e-38
// GFX89: v_fract_f64_e32 v[0:1], 0x3179f623 ; encoding: [0xff,0x64,0x00,0x7e,0x23,0xf6,0x79,0x31]
v_fract_f64 v[0:1], 2.3509886e-70
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32 v0, 2.3509886e-70
//---------------------------------------------------------------------------//
@ -166,60 +166,60 @@ v_and_b32_e32 v0, 0.0, v1
// GFX89: v_and_b32_e64 v0, 0, v1 ; encoding: [0x00,0x00,0x13,0xd1,0x80,0x02,0x02,0x00]
v_and_b32_e64 v0, 0.0, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 1.5
// SICI: v_and_b32_e32 v0, 0x3fc00000, v1 ; encoding: [0xff,0x02,0x00,0x36,0x00,0x00,0xc0,0x3f]
// GFX89: v_and_b32_e32 v0, 0x3fc00000, v1 ; encoding: [0xff,0x02,0x00,0x26,0x00,0x00,0xc0,0x3f]
v_and_b32_e32 v0, 1.5, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], -3.1415
// SICI: v_and_b32_e32 v0, 0xc0490e56, v1 ; encoding: [0xff,0x02,0x00,0x36,0x56,0x0e,0x49,0xc0]
// GFX89: v_and_b32_e32 v0, 0xc0490e56, v1 ; encoding: [0xff,0x02,0x00,0x26,0x56,0x0e,0x49,0xc0]
v_and_b32_e32 v0, -3.1415, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 100000000000000000000000.0
// SICI: v_and_b32_e32 v0, 0x65a96816, v1 ; encoding: [0xff,0x02,0x00,0x36,0x16,0x68,0xa9,0x65]
// GFX89: v_and_b32_e32 v0, 0x65a96816, v1 ; encoding: [0xff,0x02,0x00,0x26,0x16,0x68,0xa9,0x65]
v_and_b32_e32 v0, 100000000000000000000000.0, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 10000000.0
// SICI: v_and_b32_e32 v0, 0x4b189680, v1 ; encoding: [0xff,0x02,0x00,0x36,0x80,0x96,0x18,0x4b]
// GFX89: v_and_b32_e32 v0, 0x4b189680, v1 ; encoding: [0xff,0x02,0x00,0x26,0x80,0x96,0x18,0x4b]
v_and_b32_e32 v0, 10000000.0, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 3.402823e+38
// SICI: v_and_b32_e32 v0, 0x7f7ffffd, v1 ; encoding: [0xff,0x02,0x00,0x36,0xfd,0xff,0x7f,0x7f]
// GFX89: v_and_b32_e32 v0, 0x7f7ffffd, v1 ; encoding: [0xff,0x02,0x00,0x26,0xfd,0xff,0x7f,0x7f]
v_and_b32_e32 v0, 3.402823e+38, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 2.3509886e-38
// SICI: v_and_b32_e32 v0, 0xffffff, v1 ; encoding: [0xff,0x02,0x00,0x36,0xff,0xff,0xff,0x00]
// GFX89: v_and_b32_e32 v0, 0xffffff, v1 ; encoding: [0xff,0x02,0x00,0x26,0xff,0xff,0xff,0x00]
v_and_b32_e32 v0, 2.3509886e-38, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 2.3509886e-70
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_and_b32_e32 v0, 2.3509886e-70, v1
//---------------------------------------------------------------------------//
@ -282,12 +282,12 @@ v_trunc_f32_e32 v0, 1234
// GFX89: v_fract_f64_e32 v[0:1], 0x4d2 ; encoding: [0xff,0x64,0x00,0x7e,0xd2,0x04,0x00,0x00]
v_fract_f64_e32 v[0:1], 1234
// NOSICI: error: literal operands are not supported
// NOGFX89: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: literal operands are not supported
v_trunc_f32_e64 v0, 1234
// NOSICI: error: literal operands are not supported
// NOGFX89: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: literal operands are not supported
v_fract_f64_e64 v[0:1], 1234
// SICI: v_trunc_f32_e32 v0, 0xffff2bcf ; encoding: [0xff,0x42,0x00,0x7e,0xcf,0x2b,0xff,0xff]
@ -314,12 +314,12 @@ v_trunc_f32_e32 v0, 0xffffffff
// GFX89: v_fract_f64_e32 v[0:1], 0xffffffff ; encoding: [0xff,0x64,0x00,0x7e,0xff,0xff,0xff,0xff]
v_fract_f64_e32 v[0:1], 0xffffffff
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32_e32 v0, 0x123456789abcdef0
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_fract_f64_e32 v[0:1], 0x123456789abcdef0
// SICI: v_trunc_f32_e32 v0, -1 ; encoding: [0xc1,0x42,0x00,0x7e]
@ -378,8 +378,8 @@ s_mov_b64_e32 s[0:1], 1234
// GFX89: v_and_b32_e32 v0, 0x4d2, v1 ; encoding: [0xff,0x02,0x00,0x26,0xd2,0x04,0x00,0x00]
v_and_b32_e32 v0, 1234, v1
// NOSICI: error: literal operands are not supported
// NOGFX89: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: literal operands are not supported
v_and_b32_e64 v0, 1234, v1
// SICI: s_mov_b64 s[0:1], 0xffff2bcf ; encoding: [0xff,0x04,0x80,0xbe,0xcf,0x2b,0xff,0xff]
@ -406,12 +406,12 @@ s_mov_b64_e32 s[0:1], 0xffffffff
// GFX89: v_and_b32_e32 v0, -1, v1 ; encoding: [0xc1,0x02,0x00,0x26]
v_and_b32_e32 v0, 0xffffffff, v1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64_e32 s[0:1], 0x123456789abcdef0
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_and_b32_e32 v0, 0x123456789abcdef0, v1
// SICI: s_mov_b64 s[0:1], -1 ; encoding: [0xc1,0x04,0x80,0xbe]
@ -426,11 +426,11 @@ v_and_b32_e32 v0, 0xffffffffffffffff, v1
// 1/(2*PI)
//---------------------------------------------------------------------------//
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32_e32 v0, 0x3fc45f306dc9c882
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX89: v_fract_f64_e32 v[0:1], 0.15915494309189532 ; encoding: [0xf8,0x64,0x00,0x7e]
v_fract_f64_e32 v[0:1], 0x3fc45f306dc9c882
@ -442,23 +442,23 @@ v_trunc_f32_e32 v0, 0x3e22f983
// GFX89: v_fract_f64_e32 v[0:1], 0x3e22f983 ; encoding: [0xff,0x64,0x00,0x7e,0x83,0xf9,0x22,0x3e]
v_fract_f64_e32 v[0:1], 0x3e22f983
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32_e64 v0, 0x3fc45f306dc9c882
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX89: v_fract_f64_e64 v[0:1], 0.15915494309189532 ; encoding: [0x00,0x00,0x72,0xd1,0xf8,0x00,0x00,0x00]
v_fract_f64_e64 v[0:1], 0x3fc45f306dc9c882
// NOSICI: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// GFX89: v_trunc_f32_e64 v0, 0.15915494 ; encoding: [0x00,0x00,0x5c,0xd1,0xf8,0x00,0x00,0x00]
v_trunc_f32_e64 v0, 0x3e22f983
// NOSICI: error: literal operands are not supported
// NOGFX89: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: literal operands are not supported
v_fract_f64_e64 v[0:1], 0x3e22f983
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX89: s_mov_b64 s[0:1], 0.15915494309189532 ; encoding: [0xf8,0x01,0x80,0xbe]
s_mov_b64_e32 s[0:1], 0.159154943091895317852646485335
@ -466,7 +466,7 @@ s_mov_b64_e32 s[0:1], 0.159154943091895317852646485335
// GFX89: v_and_b32_e32 v0, 0.15915494, v1 ; encoding: [0xf8,0x02,0x00,0x26]
v_and_b32_e32 v0, 0.159154943091895317852646485335, v1
// NOSICI: error: literal operands are not supported
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: literal operands are not supported
// GFX89: v_and_b32_e64 v0, 0.15915494, v1 ; encoding: [0x00,0x00,0x13,0xd1,0xf8,0x02,0x02,0x00]
v_and_b32_e64 v0, 0.159154943091895317852646485335, v1
@ -482,46 +482,46 @@ v_trunc_f32 v0, 0.159154943091895317852646485335
// integer literal truncation checks
//---------------------------------------------------------------------------//
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s0, 0x101ffffffff
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s0, 0x1000000001
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s0, 0x1000000fff
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32 v0, 0x1fffffffff0
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32 v0, 0x100000001
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f32 v0, 0x1fffffff000
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64 s[0:1], 0x101ffffffff
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64 s[0:1], 0x1000000001
// NOGCN: error: invalid operand for instruction
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64 s[0:1], 0x1000000fff
// NOGFX89: error: invalid operand for instruction
// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: invalid operand for instruction
// NOGFX89: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// NOSI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOCIVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x1fffffffff0
// NOGFX89: error: invalid operand for instruction
// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: invalid operand for instruction
// NOGFX89: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// NOSI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOCIVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x100000001
// NOGFX89: error: invalid operand for instruction
// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: invalid operand for instruction
// NOGFX89: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand for instruction
// NOSI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOCIVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_trunc_f64 v[0:1], 0x1fffffff000
//---------------------------------------------------------------------------//
@ -556,35 +556,35 @@ s_and_b64 s[0:1], s[0:1], src_execz
// GFX89: s_and_b64 s[0:1], s[0:1], src_scc ; encoding: [0x00,0xfd,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_scc
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: v_add_u16_e32 v0, src_vccz, v0 ; encoding: [0xfb,0x00,0x00,0x4c]
v_add_u16 v0, vccz, v0
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9: v_add_u16_sdwa v0, src_scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0xfd,0x06,0x86,0x06]
v_add_u16_sdwa v0, scc, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9: v_add_u16_sdwa v0, v0, src_scc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfa,0x01,0x4c,0x00,0x06,0x06,0x86]
v_add_u16_sdwa v0, v0, scc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// GFX9: v_add_u32_e32 v0, src_execz, v0 ; encoding: [0xfc,0x00,0x00,0x68]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: operands are not valid for this GPU or mode
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v0, execz, v0
// GFX9: v_add_u32_e64 v0, src_scc, v0 ; encoding: [0x00,0x00,0x34,0xd1,0xfd,0x00,0x02,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: operands are not valid for this GPU or mode
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32_e64 v0, scc, v0
// SICI: v_cmp_eq_i64_e32 vcc, src_scc, v[0:1] ; encoding: [0xfd,0x00,0x44,0x7d]
// GFX89: v_cmp_eq_i64_e32 vcc, src_scc, v[0:1] ; encoding: [0xfd,0x00,0xc4,0x7d]
v_cmp_eq_i64 vcc, scc, v[0:1]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: v_max_f16_e32 v0, src_execz, v0 ; encoding: [0xfc,0x00,0x00,0x5a]
v_max_f16 v0, execz, v0
@ -596,24 +596,24 @@ v_max_f32 v0, vccz, v0
// GFX89: v_max_f64 v[0:1], src_scc, v[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xfd,0x00,0x02,0x00]
v_max_f64 v[0:1], scc, v[0:1]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: v_pk_add_f16 v0, src_execz, v0 ; encoding: [0x00,0x40,0x8f,0xd3,0xfc,0x00,0x02,0x18]
v_pk_add_f16 v0, execz, v0
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: v_ceil_f16_e64 v0, -src_vccz ; encoding: [0x00,0x00,0x85,0xd1,0xfb,0x00,0x00,0x20]
v_ceil_f16 v0, neg(vccz)
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: v_ceil_f16_e64 v0, |src_scc| ; encoding: [0x00,0x01,0x85,0xd1,0xfd,0x00,0x00,0x00]
v_ceil_f16 v0, abs(scc)
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: v_ceil_f64_e64 v[5:6], |src_execz| ; encoding: [0x05,0x01,0x30,0xd3,0xfc,0x00,0x00,0x00]
// GFX89: v_ceil_f64_e64 v[5:6], |src_execz| ; encoding: [0x05,0x01,0x58,0xd1,0xfc,0x00,0x00,0x00]
v_ceil_f64 v[5:6], |execz|
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// CI: v_ceil_f64_e64 v[5:6], -vcc ; encoding: [0x05,0x00,0x30,0xd3,0x6a,0x00,0x00,0x20]
// GFX89: v_ceil_f64_e64 v[5:6], -vcc ; encoding: [0x05,0x00,0x58,0xd1,0x6a,0x00,0x00,0x20]
v_ceil_f64 v[5:6], -vcc
@ -626,252 +626,252 @@ v_ceil_f32 v0, -vccz
// GFX89: v_ceil_f32_e64 v0, |src_execz| ; encoding: [0x00,0x01,0x5d,0xd1,0xfc,0x00,0x00,0x00]
v_ceil_f32 v0, |execz|
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9: v_ceil_f16_sdwa v5, |src_vccz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xfb,0x16,0xa6,0x00]
v_ceil_f16_sdwa v5, |vccz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX9: v_ceil_f16_sdwa v5, -src_scc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xfd,0x16,0x96,0x00]
v_ceil_f16_sdwa v5, -scc dst_sel:DWORD dst_unused:UNUSED_PRESERVE
// GFX9: v_ceil_f32_sdwa v5, src_vccz dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xfb,0x16,0x86,0x00]
// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f32_sdwa v5, vccz dst_sel:DWORD src0_sel:DWORD
// GFX9: v_ceil_f32_sdwa v5, |src_execz| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xfc,0x16,0xa6,0x00]
// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: invalid operand for instruction
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
v_ceil_f32_sdwa v5, |execz| dst_sel:DWORD src0_sel:DWORD
//---------------------------------------------------------------------------//
// named inline values: shared_base, shared_limit, private_base, etc
//---------------------------------------------------------------------------//
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: buffer_atomic_add v0, off, s[0:3], src_shared_base offset:4095 ; encoding: [0xff,0x0f,0x08,0xe1,0x00,0x00,0x00,0xeb]
buffer_atomic_add v0, off, s[0:3], src_shared_base offset:4095
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_shared_base, s0 ; encoding: [0xeb,0x00,0x00,0x81]
s_add_i32 s0, src_shared_base, s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_shared_limit, s0 ; encoding: [0xec,0x00,0x00,0x81]
s_add_i32 s0, src_shared_limit, s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_private_base, s0 ; encoding: [0xed,0x00,0x00,0x81]
s_add_i32 s0, src_private_base, s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_private_limit, s0 ; encoding: [0xee,0x00,0x00,0x81]
s_add_i32 s0, src_private_limit, s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_i32 s0, src_pops_exiting_wave_id, s0 ; encoding: [0xef,0x00,0x00,0x81]
s_add_i32 s0, src_pops_exiting_wave_id, s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_and_b64 s[0:1], s[0:1], src_shared_base ; encoding: [0x00,0xeb,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_shared_base
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_and_b64 s[0:1], s[0:1], src_shared_limit ; encoding: [0x00,0xec,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_shared_limit
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_and_b64 s[0:1], s[0:1], src_private_base ; encoding: [0x00,0xed,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_private_base
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_and_b64 s[0:1], s[0:1], src_private_limit ; encoding: [0x00,0xee,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_private_limit
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_and_b64 s[0:1], s[0:1], src_pops_exiting_wave_id ; encoding: [0x00,0xef,0x80,0x86]
s_and_b64 s[0:1], s[0:1], src_pops_exiting_wave_id
// GFX9: v_add_u16_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x4c]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u16 v0, src_shared_base, v0
// GFX9: v_add_u16_sdwa v0, src_shared_base, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x4c,0xeb,0x06,0x86,0x06]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u16_sdwa v0, src_shared_base, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// GFX9: v_add_u16_sdwa v0, v0, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xd6,0x01,0x4c,0x00,0x06,0x06,0x86]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u16_sdwa v0, v0, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD
// GFX9: v_add_u32_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x68]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u32 v0, src_shared_base, v0
// GFX9: v_add_u32_e64 v0, src_shared_base, v0 ; encoding: [0x00,0x00,0x34,0xd1,0xeb,0x00,0x02,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u32_e64 v0, src_shared_base, v0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: v_cmp_eq_i64_e32 vcc, src_shared_base, v[0:1] ; encoding: [0xeb,0x00,0xc4,0x7d]
v_cmp_eq_i64 vcc, src_shared_base, v[0:1]
// GFX9: v_max_f16_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x5a]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_max_f16 v0, src_shared_base, v0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: v_max_f32_e32 v0, src_shared_base, v0 ; encoding: [0xeb,0x00,0x00,0x16]
v_max_f32 v0, src_shared_base, v0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: v_max_f64 v[0:1], src_shared_base, v[0:1] ; encoding: [0x00,0x00,0x83,0xd2,0xeb,0x00,0x02,0x00]
v_max_f64 v[0:1], src_shared_base, v[0:1]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: v_pk_add_f16 v0, src_shared_base, v0 ; encoding: [0x00,0x40,0x8f,0xd3,0xeb,0x00,0x02,0x18]
v_pk_add_f16 v0, src_shared_base, v0
// GFX9: v_ceil_f16_e64 v0, -src_shared_base ; encoding: [0x00,0x00,0x85,0xd1,0xeb,0x00,0x00,0x20]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f16 v0, neg(src_shared_base)
// GFX9: v_ceil_f16_e64 v0, |src_shared_base| ; encoding: [0x00,0x01,0x85,0xd1,0xeb,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f16 v0, abs(src_shared_base)
// GFX9: v_ceil_f64_e64 v[5:6], |src_shared_base| ; encoding: [0x05,0x01,0x58,0xd1,0xeb,0x00,0x00,0x00]
// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: register not available on this GPU
// NOVI: error: register not available on this GPU
// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOCIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f64 v[5:6], |src_shared_base|
// GFX9: v_ceil_f64_e64 v[5:6], -src_shared_base ; encoding: [0x05,0x00,0x58,0xd1,0xeb,0x00,0x00,0x20]
// NOSI: error: instruction not supported on this GPU
// NOCIVI: error: register not available on this GPU
// NOVI: error: register not available on this GPU
// NOSI: :[[@LINE+3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOCIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f64 v[5:6], -src_shared_base
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: v_ceil_f32_e64 v0, -src_shared_base ; encoding: [0x00,0x00,0x5d,0xd1,0xeb,0x00,0x00,0x20]
v_ceil_f32 v0, -src_shared_base
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: v_ceil_f32_e64 v0, |src_shared_base| ; encoding: [0x00,0x01,0x5d,0xd1,0xeb,0x00,0x00,0x00]
v_ceil_f32 v0, |src_shared_base|
// GFX9: v_ceil_f16_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xeb,0x16,0xa6,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f16_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE
// GFX9: v_ceil_f16_sdwa v5, -src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x8a,0x0a,0x7e,0xeb,0x16,0x96,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f16_sdwa v5, -src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE
// GFX9: v_ceil_f32_sdwa v5, src_shared_base dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xeb,0x16,0x86,0x00]
// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f32_sdwa v5, src_shared_base dst_sel:DWORD src0_sel:DWORD
// GFX9: v_ceil_f32_sdwa v5, |src_shared_base| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x3a,0x0a,0x7e,0xeb,0x16,0xa6,0x00]
// NOSICI: error: sdwa variant of this instruction is not supported
// NOVI: error: register not available on this GPU
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: sdwa variant of this instruction is not supported
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_ceil_f32_sdwa v5, |src_shared_base| dst_sel:DWORD src0_sel:DWORD
//---------------------------------------------------------------------------//
// named inline values compete with other scalars for constant bus access
//---------------------------------------------------------------------------//
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: register not available on this GPU
// NOGFX9: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: register not available on this GPU
v_add_u32 v0, private_base, s0
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICI: error: instruction not supported on this GPU
// NOVI: error: operands are not valid for this GPU or mode
// NOGFX9: :[[@LINE+3]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_add_u32 v0, scc, s0
// v_div_fmas implicitly reads VCC
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, shared_base, v0, v1
// v_div_fmas implicitly reads VCC
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v0, shared_limit, v1
// v_div_fmas implicitly reads VCC
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v0, v1, private_limit
// v_div_fmas implicitly reads VCC
// NOGCN: error: invalid operand (violates constant bus restrictions)
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, execz, v0, v1
// v_div_fmas implicitly reads VCC
// NOGCN: error: invalid operand (violates constant bus restrictions)
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v0, scc, v1
// v_div_fmas implicitly reads VCC
// NOGCN: error: invalid operand (violates constant bus restrictions)
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v0, v1, vccz
// v_addc_co_u32 implicitly reads VCC (VOP2)
// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_co_u32 v0, vcc, shared_base, v0, vcc
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, shared_base, v0, 0x11213141
// NOGCN: error: invalid operand (violates constant bus restrictions)
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, scc, v0, 0x11213141
// NOGCN: error: only one unique literal operand is allowed
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_madak_f32 v0, 0xff32ff, v0, 0x11213141
// NOGCN: error: only one unique literal operand is allowed
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_madmk_f32 v0, 0xff32ff, 0x11213141, v0
// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: only one unique literal operand is allowed
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_madak_f16 v0, 0xff32, v0, 0x1122
// NOSICI: error: instruction not supported on this GPU
// NOGFX89: error: only one unique literal operand is allowed
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX89: :[[@LINE+1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_madmk_f16 v0, 0xff32, 0x1122, v0
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32 s[0:1], private_base, private_limit
// NOSICIVI: error: register not available on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32 s[0:1], private_base, s0
// NOGCN: error: invalid operand (violates constant bus restrictions)
// NOGCN: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32 s[0:1], execz, s0
// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_pk_add_f16 v255, private_base, private_limit
// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: invalid operand (violates constant bus restrictions)
// NOSICIVI: :[[@LINE+2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_pk_add_f16 v255, vccz, execz

View File

@ -2,45 +2,45 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck -check-prefix=GFX10 --implicit-check-not=error: %s
v_pk_add_f16 v1, -17, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, 65, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, 64.0, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, -0.15915494, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, -0.0, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, -32768, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, 32767, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, 0xffffffffffff000f, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_add_f16 v1, 0x1000ffff, v2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_mad_i16 v5, 0x3c00, 0x4000, 0x4400
// GFX9: error: literal operands are not supported
// GFX10: error: only one unique literal operand is allowed
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_pk_mad_i16 v5, 0x3c00, 0x4000, 2
// GFX9: error: literal operands are not supported
// GFX10: error: only one unique literal operand is allowed
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: only one unique literal operand is allowed
v_pk_mad_i16 v5, 0x3c00, 3, 2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_mad_i16 v5, 3, 0x3c00, 2
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
v_pk_mad_i16 v5, 3, 2, 0x3c00
// GFX9: error: literal operands are not supported
// GFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported

View File

@ -161,75 +161,75 @@ v_pk_add_f16 v1, 65535, v2
//===----------------------------------------------------------------------===//
v_pk_add_f16 v5, v1, 0x12345678
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_f16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
v_pk_add_f16 v5, 0x12345678, v2
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_f16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
v_pk_add_f16 v5, -256, v2
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_f16 v5, 0xffffff00, v2 ; encoding: [0x05,0x40,0x0f,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
v_pk_add_f16 v5, v1, 256
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_f16 v5, v1, 0x100 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
v_pk_add_u16 v5, v1, 0x12345678
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_u16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
v_pk_add_u16 v5, 0x12345678, v2
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_u16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x0a,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
v_pk_add_u16 v5, -256, v2
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_u16 v5, 0xffffff00, v2 ; encoding: [0x05,0x40,0x0a,0xcc,0xff,0x04,0x02,0x18,0x00,0xff,0xff,0xff]
v_pk_add_u16 v5, v1, 256
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_u16 v5, v1, 0x100 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0x00,0x01,0x00,0x00]
v_pk_add_f16 v5, v1, 0x123456780
// NOGFX9: error: invalid operand for instruction
// NOGFX10: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
v_pk_add_u16 v5, v1, 0x123456780
// NOGFX9: error: invalid operand for instruction
// NOGFX10: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
v_pk_fma_f16 v5, 0xaf123456, v2, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, 0xaf123456, v2, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
v_pk_fma_f16 v5, v1, 0xaf123456, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, v1, 0xaf123456, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
v_pk_fma_f16 v5, v1, v2, 0xaf123456
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, v1, v2, 0xaf123456 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
v_pk_mad_i16 v5, 0xaf123456, v2, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, 0xaf123456, v2, v3 ; encoding: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0x56,0x34,0x12,0xaf]
v_pk_mad_i16 v5, v1, 0xaf123456, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, v1, 0xaf123456, v3 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0x56,0x34,0x12,0xaf]
v_pk_mad_i16 v5, v1, v2, 0xaf123456
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, v1, v2, 0xaf123456 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0x56,0x34,0x12,0xaf]
v_pk_ashrrev_i16 v5, 0x12345678, v2
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_ashrrev_i16 v5, 0x12345678, v2 ; encoding: [0x05,0x40,0x06,0xcc,0xff,0x04,0x02,0x18,0x78,0x56,0x34,0x12]
v_pk_ashrrev_i16 v5, v1, 0x12345678
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_ashrrev_i16 v5, v1, 0x12345678 ; encoding: [0x05,0x40,0x06,0xcc,0x01,0xff,0x01,0x18,0x78,0x56,0x34,0x12]
//===----------------------------------------------------------------------===//
@ -237,44 +237,44 @@ v_pk_ashrrev_i16 v5, v1, 0x12345678
//===----------------------------------------------------------------------===//
v_pk_add_f16 v5, v1, 0.1234
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_f16 v5, v1, 0x2fe6 ; encoding: [0x05,0x40,0x0f,0xcc,0x01,0xff,0x01,0x18,0xe6,0x2f,0x00,0x00]
v_pk_add_u16 v5, v1, 0.1234
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_add_u16 v5, v1, 0x2fe6 ; encoding: [0x05,0x40,0x0a,0xcc,0x01,0xff,0x01,0x18,0xe6,0x2f,0x00,0x00]
v_pk_fma_f16 v5, 0.1234, v2, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, 0x2fe6, v2, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0xff,0x04,0x0e,0x1c,0xe6,0x2f,0x00,0x00]
v_pk_fma_f16 v5, v1, 0.1234, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, v1, 0x2fe6, v3 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0xff,0x0d,0x1c,0xe6,0x2f,0x00,0x00]
v_pk_fma_f16 v5, v1, v2, 0.1234
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_fma_f16 v5, v1, v2, 0x2fe6 ; encoding: [0x05,0x40,0x0e,0xcc,0x01,0x05,0xfe,0x1b,0xe6,0x2f,0x00,0x00]
v_pk_mad_i16 v5, 0.1234, v2, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, 0x2fe6, v2, v3 ; encoding: [0x05,0x40,0x00,0xcc,0xff,0x04,0x0e,0x1c,0xe6,0x2f,0x00,0x00]
v_pk_mad_i16 v5, v1, 0.1234, v3
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, v1, 0x2fe6, v3 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0xff,0x0d,0x1c,0xe6,0x2f,0x00,0x00]
v_pk_mad_i16 v5, v1, v2, 0.1234
// NOGFX9: error: literal operands are not supported
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: literal operands are not supported
// GFX10: v_pk_mad_i16 v5, v1, v2, 0x2fe6 ; encoding: [0x05,0x40,0x00,0xcc,0x01,0x05,0xfe,0x1b,0xe6,0x2f,0x00,0x00]
v_pk_add_f16 v5, v1, 123456.0
// NOGFX9: error: invalid operand for instruction
// NOGFX10: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
v_pk_add_u16 v5, v1, 123456.0
// NOGFX9: error: invalid operand for instruction
// NOGFX10: error: invalid operand for instruction
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Packed VOP2
@ -282,5 +282,5 @@ v_pk_add_u16 v5, v1, 123456.0
// FIXME: v_pk_fmac_f16 cannot be promoted to VOP3 so '_e32' suffix is not valid
v_pk_fmac_f16 v5, 0x12345678, v2
// NOGFX9: error: instruction not supported on this GPU
// NOGFX9: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: v_pk_fmac_f16 v5, 0x12345678, v2 ; encoding: [0xff,0x04,0x0a,0x78,0x78,0x56,0x34,0x12]

View File

@ -4,15 +4,15 @@
v_mad_mix_f32 v0, v1, v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, v1, v2, v3
// GFX9-MADMIX: v_mad_mixlo_f16 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa1,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, v1, v2, v3
// GFX9-MADMIX: v_mad_mixhi_f16 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa2,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//
// Regular source modifiers on non-packed instructions
@ -20,55 +20,55 @@ v_mad_mixhi_f16 v0, v1, v2, v3
v_mad_mix_f32 v0, abs(v1), v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, |v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, abs(v2), v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, |v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, abs(v3)
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, |v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, -v1, v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, -v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x24]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, -v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, -v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, -v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, -v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x84]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, -abs(v1), v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, -|v1|, v2, v3 ; encoding: [0x00,0x01,0xa0,0xd3,0x01,0x05,0x0e,0x24]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, -abs(v2), v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, -|v2|, v3 ; encoding: [0x00,0x02,0xa0,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, -abs(v3)
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, -|v3| ; encoding: [0x00,0x04,0xa0,0xd3,0x01,0x05,0x0e,0x84]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, abs(v1), -v2, abs(v3)
// GFX9-MADMIX: v_mad_mixlo_f16 v0, |v1|, -v2, |v3| ; encoding: [0x00,0x05,0xa1,0xd3,0x01,0x05,0x0e,0x44]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, -v1, abs(v2), -abs(v3)
// GFX9-MADMIX: v_mad_mixhi_f16 v0, -v1, |v2|, -|v3| ; encoding: [0x00,0x06,0xa2,0xd3,0x01,0x05,0x0e,0xa4]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, v1, v2, v3 clamp
// GFX9-MADMIX: v_mad_mixlo_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa1,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, v1, v2, v3 clamp
// GFX9-MADMIX: v_mad_mixhi_f16 v0, v1, v2, v3 clamp ; encoding: [0x00,0x80,0xa2,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//
// op_sel with non-packed instructions
@ -76,48 +76,48 @@ v_mad_mixhi_f16 v0, v1, v2, v3 clamp
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,0,0] ; encoding: [0x00,0x08,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,1,0] ; encoding: [0x00,0x10,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[0,0,1] ; encoding: [0x00,0x20,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel:[1,1,1] ; encoding: [0x00,0x38,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,0,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,1,0] ; encoding: [0x00,0x00,0xa0,0xd3,0x01,0x05,0x0e,0x14]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[0,0,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x04]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1]
// GFX9-MADMIX: v_mad_mix_f32 v0, v1, v2, v3 op_sel_hi:[1,1,1] ; encoding: [0x00,0x40,0xa0,0xd3,0x01,0x05,0x0e,0x1c]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-MADMIX: v_mad_mixlo_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa1,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mad_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp
// GFX9-MADMIX: v_mad_mixhi_f16 v0, v1, v2, v3 op_sel_hi:[1,0,1] clamp ; encoding: [0x00,0xc0,0xa2,0xd3,0x01,0x05,0x0e,0x0c]
// GFX9-FMAMIX-ERR: error: instruction not supported on this GPU
// GFX9-FMAMIX-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -1,46 +1,46 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx940 %s 2>&1 | FileCheck -check-prefix=GFX940 %s
v_mfma_f32_32x32x2bf16 a[0:31], v0, v1, 0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x2bf16 a[0:15], v0, v1, 0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x2bf16 a[0:3], v0, v1, 0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 a[0:15], v0, v1, 0
// GFX940: error: operands are not valid for this GPU or mode
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mfma_f32_16x16x8bf16 a[0:3], v0, v1, 0
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[0:31] neg:[1,0,0]
// GFX940: error: invalid modifier: neg is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[0:31] neg:[1,0,0]
// GFX940: error: invalid modifier: neg is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7] blgp:7
// GFX940: error: invalid modifier: blgp is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: blgp is not supported
v_mfma_f64_16x16x4f64 v[0:7], v[0:1], v[2:3], v[0:7] blgp:7
// GFX940: error: invalid modifier: blgp is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: blgp is not supported
v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] blgp:7
// GFX940: error: invalid modifier: blgp is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: blgp is not supported
v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3] blgp:7
// GFX940: error: invalid modifier: blgp is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: blgp is not supported
v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] blgp:7
// GFX940: error: invalid modifier: blgp is not supported
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: invalid modifier: blgp is not supported
v_mfma_i32_32x32x8i8 a[0:15], v0, v1, a[0:15]
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x16i8 a[0:3], v0, v1, a[0:3]
// GFX940: error: instruction not supported on this GPU
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[2:9]
// GFX940: error: source 2 operand must not partially overlap with dst
// GFX940: :[[@LINE-1]]:{{[0-9]+}}: error: source 2 operand must not partially overlap with dst

File diff suppressed because it is too large Load Diff

View File

@ -14,11 +14,11 @@ v_accvgpr_write_b32 a10, s20
v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3]
// GFX940: v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3] ; encoding: [0x00,0x00,0xef,0xd3,0x00,0x05,0x0a,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4f64 a[0:1], v[0:1], a[2:3], a[2:3]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x14]
@ -28,35 +28,35 @@ v_mfma_f64_4x4x4f64 v[0:1], v[0:1], a[2:3], v[2:3]
v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[1,0,0]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[1,0,0] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x34]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[0,1,0]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[0,1,0] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x54]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[0,0,1]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[0,0,1] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x94]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3] neg:[1,1,1]
// GFX940: v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3] neg:[1,1,1] ; encoding: [0x00,0x00,0xef,0xd3,0x00,0x05,0x0a,0xf4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_4x4x4f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[1,0,0]
// GFX940: v_mfma_f64_4x4x4_4b_f64 a[0:1], v[0:1], a[2:3], a[2:3] neg:[1,0,0] ; encoding: [0x00,0x80,0xef,0xd3,0x00,0x05,0x0a,0x34]
// GFX90A: error: invalid modifier: neg is not supported
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f64_4x4x4f64 v[0:1], v[0:1], a[2:3], v[2:3] neg:[1,0,0]
// GFX940: v_mfma_f64_4x4x4_4b_f64 v[0:1], v[0:1], a[2:3], v[2:3] neg:[1,0,0] ; encoding: [0x00,0x00,0xef,0xd3,0x00,0x05,0x0a,0x34]
// GFX90A: error: invalid modifier: neg is not supported
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7]
// GFX940: v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] ; encoding: [0x00,0x80,0xee,0xd3,0x00,0x05,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7]
// GFX940: v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7] ; encoding: [0x00,0x00,0xee,0xd3,0x00,0x05,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_16x16x4f64 a[0:7], v[0:1], v[2:3], a[0:7]
// GFX940: v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] ; encoding: [0x00,0x80,0xee,0xd3,0x00,0x05,0x02,0x04]
@ -66,27 +66,27 @@ v_mfma_f64_16x16x4f64 v[0:7], v[0:1], v[2:3], v[0:7]
v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] neg:[1,1,1]
// GFX940: v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] neg:[1,1,1] ; encoding: [0x00,0x80,0xee,0xd3,0x00,0x05,0x02,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7] neg:[1,1,1]
// GFX940: v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7] neg:[1,1,1] ; encoding: [0x00,0x00,0xee,0xd3,0x00,0x05,0x02,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f64_16x16x4f64 a[0:7], v[0:1], v[2:3], a[0:7] neg:[1,0,0]
// GFX940: v_mfma_f64_16x16x4_f64 a[0:7], v[0:1], v[2:3], a[0:7] neg:[1,0,0] ; encoding: [0x00,0x80,0xee,0xd3,0x00,0x05,0x02,0x24]
// GFX90A: error: invalid modifier: neg is not supported
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f64_16x16x4f64 v[0:7], v[0:1], v[2:3], v[0:7] neg:[1,0,0]
// GFX940: v_mfma_f64_16x16x4_f64 v[0:7], v[0:1], v[2:3], v[0:7] neg:[1,0,0] ; encoding: [0x00,0x00,0xee,0xd3,0x00,0x05,0x02,0x24]
// GFX90A: error: invalid modifier: neg is not supported
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: invalid modifier: neg is not supported
v_mfma_f32_16x16x1_4b_f32 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_f32_16x16x1_4b_f32 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xc1,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x1_4b_f32 v[0:15], v0, v1, v[18:33]
// GFX940: v_mfma_f32_16x16x1_4b_f32 v[0:15], v0, v1, v[18:33] ; encoding: [0x00,0x00,0xc1,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x1f32 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_f32_16x16x1_4b_f32 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xc1,0xd3,0x00,0x03,0x4a,0x04]
@ -96,11 +96,11 @@ v_mfma_f32_16x16x1f32 v[0:15], v0, v1, v[18:33]
v_mfma_f32_4x4x1_16b_f32 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_f32_4x4x1_16b_f32 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xc2,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x1_16b_f32 v[0:3], v0, v1, v[2:5]
// GFX940: v_mfma_f32_4x4x1_16b_f32 v[0:3], v0, v1, v[2:5] ; encoding: [0x00,0x00,0xc2,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x1f32 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_f32_4x4x1_16b_f32 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xc2,0xd3,0x00,0x03,0x0a,0x04]
@ -110,11 +110,11 @@ v_mfma_f32_4x4x1f32 v[0:3], v0, v1, v[2:5]
v_mfma_f32_32x32x2_f32 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_f32_32x32x2_f32 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xc4,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x2_f32 v[0:15], v0, v1, v[18:33]
// GFX940: v_mfma_f32_32x32x2_f32 v[0:15], v0, v1, v[18:33] ; encoding: [0x00,0x00,0xc4,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x2f32 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_f32_32x32x2_f32 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xc4,0xd3,0x00,0x03,0x4a,0x04]
@ -124,11 +124,11 @@ v_mfma_f32_32x32x2f32 v[0:15], v0, v1, v[18:33]
v_mfma_f32_16x16x4_f32 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_f32_16x16x4_f32 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xc5,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4_f32 v[0:3], v0, v1, v[2:5]
// GFX940: v_mfma_f32_16x16x4_f32 v[0:3], v0, v1, v[2:5] ; encoding: [0x00,0x00,0xc5,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f32 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_f32_16x16x4_f32 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xc5,0xd3,0x00,0x03,0x0a,0x04]
@ -138,11 +138,11 @@ v_mfma_f32_16x16x4f32 v[0:3], v0, v1, v[2:5]
v_mfma_f32_32x32x4_2b_f16 a[0:31], v[0:1], v[2:3], a[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_f16 a[0:31], v[0:1], v[2:3], a[34:65] ; encoding: [0x00,0x80,0xc8,0xd3,0x00,0x05,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_2b_f16 v[0:31], v[0:1], v[2:3], v[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_f16 v[0:31], v[0:1], v[2:3], v[34:65] ; encoding: [0x00,0x00,0xc8,0xd3,0x00,0x05,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4f16 a[0:31], v[0:1], v[2:3], a[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_f16 a[0:31], v[0:1], v[2:3], a[34:65] ; encoding: [0x00,0x80,0xc8,0xd3,0x00,0x05,0x8a,0x04]
@ -152,11 +152,11 @@ v_mfma_f32_32x32x4f16 v[0:31], v[0:1], v[2:3], v[34:65]
v_mfma_f32_16x16x4_4b_f16 a[0:15], v[0:1], v[2:3], a[18:33]
// GFX940: v_mfma_f32_16x16x4_4b_f16 a[0:15], v[0:1], v[2:3], a[18:33] ; encoding: [0x00,0x80,0xc9,0xd3,0x00,0x05,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4_4b_f16 v[0:15], v[0:1], v[2:3], v[18:33]
// GFX940: v_mfma_f32_16x16x4_4b_f16 v[0:15], v[0:1], v[2:3], v[18:33] ; encoding: [0x00,0x00,0xc9,0xd3,0x00,0x05,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4f16 a[0:15], v[0:1], v[2:3], a[18:33]
// GFX940: v_mfma_f32_16x16x4_4b_f16 a[0:15], v[0:1], v[2:3], a[18:33] ; encoding: [0x00,0x80,0xc9,0xd3,0x00,0x05,0x4a,0x04]
@ -166,11 +166,11 @@ v_mfma_f32_16x16x4f16 v[0:15], v[0:1], v[2:3], v[18:33]
v_mfma_f32_4x4x4_16b_f16 a[0:3], v[0:1], v[2:3], a[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_f16 a[0:3], v[0:1], v[2:3], a[2:5] ; encoding: [0x00,0x80,0xca,0xd3,0x00,0x05,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4_16b_f16 v[0:3], v[0:1], v[2:3], v[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_f16 v[0:3], v[0:1], v[2:3], v[2:5] ; encoding: [0x00,0x00,0xca,0xd3,0x00,0x05,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4f16 a[0:3], v[0:1], v[2:3], a[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_f16 a[0:3], v[0:1], v[2:3], a[2:5] ; encoding: [0x00,0x80,0xca,0xd3,0x00,0x05,0x0a,0x04]
@ -180,11 +180,11 @@ v_mfma_f32_4x4x4f16 v[0:3], v[0:1], v[2:3], v[2:5]
v_mfma_f32_32x32x8_f16 a[0:15], v[0:1], v[2:3], a[18:33]
// GFX940: v_mfma_f32_32x32x8_f16 a[0:15], v[0:1], v[2:3], a[18:33] ; encoding: [0x00,0x80,0xcc,0xd3,0x00,0x05,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8_f16 v[0:15], v[0:1], v[2:3], v[18:33]
// GFX940: v_mfma_f32_32x32x8_f16 v[0:15], v[0:1], v[2:3], v[18:33] ; encoding: [0x00,0x00,0xcc,0xd3,0x00,0x05,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8f16 a[0:15], v[0:1], v[2:3], a[18:33]
// GFX940: v_mfma_f32_32x32x8_f16 a[0:15], v[0:1], v[2:3], a[18:33] ; encoding: [0x00,0x80,0xcc,0xd3,0x00,0x05,0x4a,0x04]
@ -194,11 +194,11 @@ v_mfma_f32_32x32x8f16 v[0:15], v[0:1], v[2:3], v[18:33]
v_mfma_f32_16x16x16_f16 a[0:3], v[0:1], v[2:3], a[2:5]
// GFX940: v_mfma_f32_16x16x16_f16 a[0:3], v[0:1], v[2:3], a[2:5] ; encoding: [0x00,0x80,0xcd,0xd3,0x00,0x05,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16_f16 v[0:3], v[0:1], v[2:3], v[2:5]
// GFX940: v_mfma_f32_16x16x16_f16 v[0:3], v[0:1], v[2:3], v[2:5] ; encoding: [0x00,0x00,0xcd,0xd3,0x00,0x05,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16f16 a[0:3], v[0:1], v[2:3], a[2:5]
// GFX940: v_mfma_f32_16x16x16_f16 a[0:3], v[0:1], v[2:3], a[2:5] ; encoding: [0x00,0x80,0xcd,0xd3,0x00,0x05,0x0a,0x04]
@ -208,11 +208,11 @@ v_mfma_f32_16x16x16f16 v[0:3], v[0:1], v[2:3], v[2:5]
v_mfma_i32_32x32x4_2b_i8 a[0:31], v0, v1, a[34:65]
// GFX940: v_mfma_i32_32x32x4_2b_i8 a[0:31], v0, v1, a[34:65] ; encoding: [0x00,0x80,0xd0,0xd3,0x00,0x03,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x4_2b_i8 v[0:31], v0, a1, v[34:65]
// GFX940: v_mfma_i32_32x32x4_2b_i8 v[0:31], v0, a1, v[34:65] ; encoding: [0x00,0x00,0xd0,0xd3,0x00,0x03,0x8a,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x4i8 a[0:31], v0, v1, a[34:65]
// GFX940: v_mfma_i32_32x32x4_2b_i8 a[0:31], v0, v1, a[34:65] ; encoding: [0x00,0x80,0xd0,0xd3,0x00,0x03,0x8a,0x04]
@ -222,11 +222,11 @@ v_mfma_i32_32x32x4i8 v[0:31], v0, a1, v[34:65]
v_mfma_i32_16x16x4_4b_i8 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_i32_16x16x4_4b_i8 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xd1,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x4_4b_i8 v[0:15], v0, v1, v[18:33]
// GFX940: v_mfma_i32_16x16x4_4b_i8 v[0:15], v0, v1, v[18:33] ; encoding: [0x00,0x00,0xd1,0xd3,0x00,0x03,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x4i8 a[0:15], v0, v1, a[18:33]
// GFX940: v_mfma_i32_16x16x4_4b_i8 a[0:15], v0, v1, a[18:33] ; encoding: [0x00,0x80,0xd1,0xd3,0x00,0x03,0x4a,0x04]
@ -236,11 +236,11 @@ v_mfma_i32_16x16x4i8 v[0:15], v0, v1, v[18:33]
v_mfma_i32_4x4x4_16b_i8 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_i32_4x4x4_16b_i8 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xd2,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_4x4x4_16b_i8 v[0:3], v0, v1, v[2:5]
// GFX940: v_mfma_i32_4x4x4_16b_i8 v[0:3], v0, v1, v[2:5] ; encoding: [0x00,0x00,0xd2,0xd3,0x00,0x03,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_4x4x4i8 a[0:3], v0, v1, a[2:5]
// GFX940: v_mfma_i32_4x4x4_16b_i8 a[0:3], v0, v1, a[2:5] ; encoding: [0x00,0x80,0xd2,0xd3,0x00,0x03,0x0a,0x04]
@ -250,19 +250,19 @@ v_mfma_i32_4x4x4i8 v[0:3], v0, v1, v[2:5]
v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[34:65] blgp:7
// GFX940: v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[34:65] blgp:7 ; encoding: [0x00,0x80,0xc0,0xd3,0x00,0x03,0x8a,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x1_2b_f32 v[0:31], v0, v1, v[34:65] blgp:7
// GFX940: v_mfma_f32_32x32x1_2b_f32 v[0:31], v0, v1, v[34:65] blgp:7 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x8a,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[34:65] blgp:7
// GFX940: v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[34:65] blgp:7 ; encoding: [0x00,0x80,0xc0,0xd3,0x00,0x03,0x8a,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x1_2b_f32 v[0:31], v0, v1, v[34:65] blgp:7
// GFX940: v_mfma_f32_32x32x1_2b_f32 v[0:31], v0, v1, v[34:65] blgp:7 ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x8a,0xe4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[34:65] blgp:7
// GFX940: v_mfma_f32_32x32x1_2b_f32 a[0:31], v0, v1, a[34:65] blgp:7 ; encoding: [0x00,0x80,0xc0,0xd3,0x00,0x03,0x8a,0xe4]
@ -272,75 +272,75 @@ v_mfma_f32_32x32x1f32 v[0:31], v0, v1, v[34:65] blgp:7
v_mfma_i32_32x32x16_i8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_i32_32x32x16_i8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xd6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xd6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16_i8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_i32_32x32x16_i8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xd6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xd6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xd6,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16i8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_i32_32x32x16_i8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xd6,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_32x32x16i8 v[0:15], v[2:3], v[4:5], v[0:15] blgp:5
// GFX940: v_mfma_i32_32x32x16_i8 v[0:15], v[2:3], v[4:5], v[0:15] blgp:5 ; encoding: [0x00,0x00,0xd6,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x32_i8 v[0:3], v[2:3], v[4:5], v[0:3]
// GFX940: v_mfma_i32_16x16x32_i8 v[0:3], v[2:3], v[4:5], v[0:3] ; encoding: [0x00,0x00,0xd7,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x32_i8 a[0:3], v[2:3], v[4:5], a[0:3]
// GFX940: v_mfma_i32_16x16x32_i8 a[0:3], v[2:3], v[4:5], a[0:3] ; encoding: [0x00,0x80,0xd7,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x32_i8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_i32_16x16x32_i8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xd7,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x32i8 v[0:3], v[2:3], v[4:5], v[0:3] blgp:5
// GFX940: v_mfma_i32_16x16x32_i8 v[0:3], v[2:3], v[4:5], v[0:3] blgp:5 ; encoding: [0x00,0x00,0xd7,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_i32_16x16x32i8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_i32_16x16x32_i8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xd7,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65] ; encoding: [0x00,0x00,0xdd,0xd3,0x02,0x09,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_2b_bf16 a[0:31], v[2:3], v[4:5], a[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_bf16 a[0:31], v[2:3], v[4:5], a[34:65] ; encoding: [0x00,0x80,0xdd,0xd3,0x02,0x09,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65] ; encoding: [0x00,0x00,0xdd,0xd3,0x02,0x09,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_2b_bf16 a[0:31], v[2:3], v[4:5], a[34:65]
// GFX940: v_mfma_f32_32x32x4_2b_bf16 a[0:31], v[2:3], v[4:5], a[34:65] ; encoding: [0x00,0x80,0xdd,0xd3,0x02,0x09,0x8a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4bf16 v[0:31], v[2:3], v[4:5], v[34:65] blgp:5
// GFX940: v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65] blgp:5 ; encoding: [0x00,0x00,0xdd,0xd3,0x02,0x09,0x8a,0xa4]
// GFX90A: error: operands are not valid for this GPU or mode
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mfma_f32_32x32x4bf16 a[0:31], v[2:3], v[4:5], a[34:65] blgp:5
// GFX940: v_mfma_f32_32x32x4_2b_bf16 a[0:31], v[2:3], v[4:5], a[34:65] blgp:5 ; encoding: [0x00,0x80,0xdd,0xd3,0x02,0x09,0x8a,0xa4]
// GFX90A: error: operands are not valid for this GPU or mode
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
v_mfma_f32_32x32x4bf16_1k v[0:31], v[2:3], v[4:5], v[34:65] blgp:5
// GFX940: v_mfma_f32_32x32x4_2b_bf16 v[0:31], v[2:3], v[4:5], v[34:65] blgp:5 ; encoding: [0x00,0x00,0xdd,0xd3,0x02,0x09,0x8a,0xa4]
@ -350,19 +350,19 @@ v_mfma_f32_32x32x4bf16_1k a[0:31], v[2:3], v[4:5], a[34:65] blgp:5
v_mfma_f32_16x16x4_4b_bf16 v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_16x16x4_4b_bf16 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xde,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4_4b_bf16 a[0:15], v[2:3], v[4:5], a[18:33]
// GFX940: v_mfma_f32_16x16x4_4b_bf16 a[0:15], v[2:3], v[4:5], a[18:33] ; encoding: [0x00,0x80,0xde,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4bf16 v[0:15], v[2:3], v[4:5], v[18:33] blgp:5
// GFX940: v_mfma_f32_16x16x4_4b_bf16 v[0:15], v[2:3], v[4:5], v[18:33] blgp:5 ; encoding: [0x00,0x00,0xde,0xd3,0x02,0x09,0x4a,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4bf16 a[0:15], v[2:3], v[4:5], a[18:33] blgp:5
// GFX940: v_mfma_f32_16x16x4_4b_bf16 a[0:15], v[2:3], v[4:5], a[18:33] blgp:5 ; encoding: [0x00,0x80,0xde,0xd3,0x02,0x09,0x4a,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x4bf16_1k v[0:15], v[2:3], v[4:5], v[18:33] blgp:5
// GFX940: v_mfma_f32_16x16x4_4b_bf16 v[0:15], v[2:3], v[4:5], v[18:33] blgp:5 ; encoding: [0x00,0x00,0xde,0xd3,0x02,0x09,0x4a,0xa4]
@ -372,19 +372,19 @@ v_mfma_f32_16x16x4bf16_1k a[0:15], v[2:3], v[4:5], a[18:33] blgp:5
v_mfma_f32_4x4x4_16b_bf16 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xdf,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4_16b_bf16 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_bf16 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xdf,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4bf16 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xdf,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4bf16 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_bf16 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xdf,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_4x4x4bf16_1k v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_4x4x4_16b_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xdf,0xd3,0x02,0x09,0x0a,0x04]
@ -394,19 +394,19 @@ v_mfma_f32_4x4x4bf16_1k a[0:3], v[2:3], v[4:5], a[2:5]
v_mfma_f32_32x32x8_bf16 v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_32x32x8_bf16 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xe0,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8_bf16 a[0:15], v[2:3], v[4:5], a[18:33]
// GFX940: v_mfma_f32_32x32x8_bf16 a[0:15], v[2:3], v[4:5], a[18:33] ; encoding: [0x00,0x80,0xe0,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8bf16 v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_32x32x8_bf16 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xe0,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8bf16 a[0:15], v[2:3], v[4:5], a[18:33]
// GFX940: v_mfma_f32_32x32x8_bf16 a[0:15], v[2:3], v[4:5], a[18:33] ; encoding: [0x00,0x80,0xe0,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x8bf16_1k v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_32x32x8_bf16 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xe0,0xd3,0x02,0x09,0x4a,0x04]
@ -416,19 +416,19 @@ v_mfma_f32_32x32x8bf16_1k a[0:15], v[2:3], v[4:5], a[18:33]
v_mfma_f32_16x16x16_bf16 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_16x16x16_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xe1,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16_bf16 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_16x16x16_bf16 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xe1,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16bf16 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_16x16x16_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xe1,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16bf16 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_16x16x16_bf16 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xe1,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x16bf16_1k v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_16x16x16_bf16 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xe1,0xd3,0x02,0x09,0x0a,0x04]
@ -438,131 +438,131 @@ v_mfma_f32_16x16x16bf16_1k a[0:3], v[2:3], v[4:5], a[2:5]
v_mfma_f32_16x16x8_xf32 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_16x16x8_xf32 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xbe,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x8_xf32 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_16x16x8_xf32 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xbe,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x8xf32 a[0:3], v[2:3], v[4:5], a[2:5]
// GFX940: v_mfma_f32_16x16x8_xf32 a[0:3], v[2:3], v[4:5], a[2:5] ; encoding: [0x00,0x80,0xbe,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x8xf32 v[0:3], v[2:3], v[4:5], v[2:5]
// GFX940: v_mfma_f32_16x16x8_xf32 v[0:3], v[2:3], v[4:5], v[2:5] ; encoding: [0x00,0x00,0xbe,0xd3,0x02,0x09,0x0a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_xf32 v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_32x32x4_xf32 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xbf,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4_xf32 a[0:15], v[2:3], v[4:5], a[18:33]
// GFX940: v_mfma_f32_32x32x4_xf32 a[0:15], v[2:3], v[4:5], a[18:33] ; encoding: [0x00,0x80,0xbf,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4xf32 v[0:15], v[2:3], v[4:5], v[18:33]
// GFX940: v_mfma_f32_32x32x4_xf32 v[0:15], v[2:3], v[4:5], v[18:33] ; encoding: [0x00,0x00,0xbf,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x4xf32 a[0:15], v[2:3], v[4:5], a[18:33]
// GFX940: v_mfma_f32_32x32x4_xf32 a[0:15], v[2:3], v[4:5], a[18:33] ; encoding: [0x00,0x80,0xbf,0xd3,0x02,0x09,0x4a,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_bf8 v[0:3], v[2:3], v[4:5], v[0:3]
// GFX940: v_mfma_f32_16x16x32_bf8_bf8 v[0:3], v[2:3], v[4:5], v[0:3] ; encoding: [0x00,0x00,0xf0,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_bf8 a[0:3], v[2:3], v[4:5], a[0:3]
// GFX940: v_mfma_f32_16x16x32_bf8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] ; encoding: [0x00,0x80,0xf0,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_f32_16x16x32_bf8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xf0,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_fp8 v[0:3], v[2:3], v[4:5], v[0:3]
// GFX940: v_mfma_f32_16x16x32_bf8_fp8 v[0:3], v[2:3], v[4:5], v[0:3] ; encoding: [0x00,0x00,0xf1,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_fp8 a[0:3], v[2:3], v[4:5], a[0:3]
// GFX940: v_mfma_f32_16x16x32_bf8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] ; encoding: [0x00,0x80,0xf1,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_bf8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_f32_16x16x32_bf8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xf1,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_bf8 v[0:3], v[2:3], v[4:5], v[0:3]
// GFX940: v_mfma_f32_16x16x32_fp8_bf8 v[0:3], v[2:3], v[4:5], v[0:3] ; encoding: [0x00,0x00,0xf2,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_bf8 a[0:3], v[2:3], v[4:5], a[0:3]
// GFX940: v_mfma_f32_16x16x32_fp8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] ; encoding: [0x00,0x80,0xf2,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_f32_16x16x32_fp8_bf8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xf2,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_fp8 v[0:3], v[2:3], v[4:5], v[0:3]
// GFX940: v_mfma_f32_16x16x32_fp8_fp8 v[0:3], v[2:3], v[4:5], v[0:3] ; encoding: [0x00,0x00,0xf3,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_fp8 a[0:3], v[2:3], v[4:5], a[0:3]
// GFX940: v_mfma_f32_16x16x32_fp8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] ; encoding: [0x00,0x80,0xf3,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_16x16x32_fp8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5
// GFX940: v_mfma_f32_16x16x32_fp8_fp8 a[0:3], v[2:3], v[4:5], a[0:3] blgp:5 ; encoding: [0x00,0x80,0xf3,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_bf8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_f32_32x32x16_bf8_bf8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xf4,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_bf8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_f32_32x32x16_bf8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xf4,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_f32_32x32x16_bf8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xf4,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_fp8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_f32_32x32x16_bf8_fp8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xf5,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_fp8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_f32_32x32x16_bf8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xf5,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_bf8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_f32_32x32x16_bf8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xf5,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_bf8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_f32_32x32x16_fp8_bf8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xf6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_bf8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_f32_32x32x16_fp8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xf6,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_f32_32x32x16_fp8_bf8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xf6,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_fp8 v[0:15], v[2:3], v[4:5], v[0:15]
// GFX940: v_mfma_f32_32x32x16_fp8_fp8 v[0:15], v[2:3], v[4:5], v[0:15] ; encoding: [0x00,0x00,0xf7,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_fp8 a[0:15], v[2:3], v[4:5], a[0:15]
// GFX940: v_mfma_f32_32x32x16_fp8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] ; encoding: [0x00,0x80,0xf7,0xd3,0x02,0x09,0x02,0x04]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mfma_f32_32x32x16_fp8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
// GFX940: v_mfma_f32_32x32x16_fp8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5 ; encoding: [0x00,0x80,0xf7,0xd3,0x02,0x09,0x02,0xa4]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// SMFMAC opcodes.
@ -570,115 +570,115 @@ v_mfma_f32_32x32x16_fp8_fp8 a[0:15], v[2:3], v[4:5], a[0:15] blgp:5
v_smfmac_f32_16x16x32_f16 v[10:13], a[2:3], v[4:7], v0 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x32_f16 v[10:13], a[2:3], v[4:7], v0 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe2,0xd3,0x02,0x09,0x02,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x32_f16 a[10:13], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_16x16x32_f16 a[10:13], v[2:3], a[4:7], v1 ; encoding: [0x0a,0x80,0xe2,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16_f16 v[10:25], a[2:3], v[4:7], v2 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x16_f16 v[10:25], a[2:3], v[4:7], v2 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe4,0xd3,0x02,0x09,0x0a,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16_f16 a[10:25], v[2:3], a[4:7], v3
// GFX940: v_smfmac_f32_32x32x16_f16 a[10:25], v[2:3], a[4:7], v3 ; encoding: [0x0a,0x80,0xe4,0xd3,0x02,0x09,0x0e,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x32_bf16 v[10:13], a[2:3], v[4:7], v4 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x32_bf16 v[10:13], a[2:3], v[4:7], v4 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe6,0xd3,0x02,0x09,0x12,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x32_bf16 a[10:13], v[2:3], a[4:7], v5
// GFX940: v_smfmac_f32_16x16x32_bf16 a[10:13], v[2:3], a[4:7], v5 ; encoding: [0x0a,0x80,0xe6,0xd3,0x02,0x09,0x16,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16_bf16 v[10:25], a[2:3], v[4:7], v6 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x16_bf16 v[10:25], a[2:3], v[4:7], v6 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe8,0xd3,0x02,0x09,0x1a,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16_bf16 a[10:25], v[2:3], a[4:7], v7
// GFX940: v_smfmac_f32_32x32x16_bf16 a[10:25], v[2:3], a[4:7], v7 ; encoding: [0x0a,0x80,0xe8,0xd3,0x02,0x09,0x1e,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_16x16x64_i8 v[10:13], a[2:3], v[4:7], v8 cbsz:3 abid:1
// GFX940: v_smfmac_i32_16x16x64_i8 v[10:13], a[2:3], v[4:7], v8 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xea,0xd3,0x02,0x09,0x22,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_16x16x64_i8 a[10:13], v[2:3], a[4:7], v9
// GFX940: v_smfmac_i32_16x16x64_i8 a[10:13], v[2:3], a[4:7], v9 ; encoding: [0x0a,0x80,0xea,0xd3,0x02,0x09,0x26,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_32x32x32_i8 v[10:25], a[2:3], v[4:7], v10 cbsz:3 abid:1
// GFX940: v_smfmac_i32_32x32x32_i8 v[10:25], a[2:3], v[4:7], v10 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xec,0xd3,0x02,0x09,0x2a,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_32x32x32_i8 a[10:25], v[2:3], a[4:7], v11
// GFX940: v_smfmac_i32_32x32x32_i8 a[10:25], v[2:3], a[4:7], v11 ; encoding: [0x0a,0x80,0xec,0xd3,0x02,0x09,0x2e,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_bf8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_bf8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xf8,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_bf8_bf8 a[0:3], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_16x16x64_bf8_bf8 a[0:3], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xf8,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_bf8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_bf8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xf9,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_bf8_fp8 a[0:3], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_16x16x64_bf8_fp8 a[0:3], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xf9,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_fp8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_fp8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfa,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_fp8_bf8 a[0:3], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_16x16x64_fp8_bf8 a[0:3], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xfa,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_fp8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_fp8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfb,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64_fp8_fp8 a[0:3], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_16x16x64_fp8_fp8 a[0:3], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xfb,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_bf8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_bf8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfc,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_bf8_bf8 a[0:15], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_32x32x32_bf8_bf8 a[0:15], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xfc,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_bf8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_bf8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfd,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_bf8_fp8 a[0:15], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_32x32x32_bf8_fp8 a[0:15], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xfd,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_fp8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_fp8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfe,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_fp8_bf8 a[0:15], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_32x32x32_fp8_bf8 a[0:15], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xfe,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_fp8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_fp8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xff,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32_fp8_fp8 a[0:15], v[2:3], a[4:7], v1
// GFX940: v_smfmac_f32_32x32x32_fp8_fp8 a[0:15], v[2:3], a[4:7], v1 ; encoding: [0x00,0x80,0xff,0xd3,0x02,0x09,0x06,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// SMFMAC aliases.
@ -686,56 +686,56 @@ v_smfmac_f32_32x32x32_fp8_fp8 a[0:15], v[2:3], a[4:7], v1
v_smfmac_f32_16x16x32f16 v[10:13], a[2:3], v[4:7], v0 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x32_f16 v[10:13], a[2:3], v[4:7], v0 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe2,0xd3,0x02,0x09,0x02,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16f16 v[10:25], a[2:3], v[4:7], v2 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x16_f16 v[10:25], a[2:3], v[4:7], v2 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe4,0xd3,0x02,0x09,0x0a,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x32bf16 v[10:13], a[2:3], v[4:7], v4 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x32_bf16 v[10:13], a[2:3], v[4:7], v4 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe6,0xd3,0x02,0x09,0x12,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x16bf16 v[10:25], a[2:3], v[4:7], v6 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x16_bf16 v[10:25], a[2:3], v[4:7], v6 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xe8,0xd3,0x02,0x09,0x1a,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_16x16x64i8 v[10:13], a[2:3], v[4:7], v8 cbsz:3 abid:1
// GFX940: v_smfmac_i32_16x16x64_i8 v[10:13], a[2:3], v[4:7], v8 cbsz:3 abid:1 ; encoding: [0x0a,0x0b,0xea,0xd3,0x02,0x09,0x22,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_i32_32x32x32i8 a[10:25], v[2:3], a[4:7], v11
// GFX940: v_smfmac_i32_32x32x32_i8 a[10:25], v[2:3], a[4:7], v11 ; encoding: [0x0a,0x80,0xec,0xd3,0x02,0x09,0x2e,0x14]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64bf8bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_bf8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xf8,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64bf8fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_bf8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xf9,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64fp8bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_fp8_bf8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfa,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_16x16x64fp8fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_16x16x64_fp8_fp8 v[0:3], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfb,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32bf8bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_bf8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfc,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32bf8fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_bf8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfd,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32fp8bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_fp8_bf8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xfe,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_smfmac_f32_32x32x32fp8fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1
// GFX940: v_smfmac_f32_32x32x32_fp8_fp8 v[0:15], a[2:3], v[4:7], v1 cbsz:3 abid:1 ; encoding: [0x00,0x0b,0xff,0xd3,0x02,0x09,0x06,0x0c]
// GFX90A: error: instruction not supported on this GPU
// GFX90A: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -26,22 +26,22 @@ v_accvgpr_write a2, v255
// GFX908: v_accvgpr_write_b32 a2, v255 ; encoding: [0x02,0x40,0xd9,0xd3,0xff,0x01,0x00,0x18]
v_accvgpr_write a2, 100
// NOGFX908: error: invalid operand for instruction
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_accvgpr_write a2, execz
// NOGFX908: error: source operand must be either a VGPR or an inline constant
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
v_accvgpr_write a2, vccz
// NOGFX908: error: source operand must be either a VGPR or an inline constant
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
v_accvgpr_write a2, scc
// NOGFX908: error: source operand must be either a VGPR or an inline constant
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
v_accvgpr_write a2, shared_base
// NOGFX908: error: source operand must be either a VGPR or an inline constant
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
v_accvgpr_write a2, pops_exiting_wave_id
// NOGFX908: error: source operand must be either a VGPR or an inline constant
// NOGFX908: :[[@LINE-1]]:{{[0-9]+}}: error: source operand must be either a VGPR or an inline constant
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[0:31]
// GFX908: v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[0:31] ; encoding: [0x00,0x00,0xc0,0xd3,0x00,0x03,0x02,0x04]

View File

@ -1,79 +1,79 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx940 %s 2>&1 | FileCheck %s --check-prefix=NOGFX940 --implicit-check-not=error:
image_load v[4:6], v[238:241], s[28:35] dmask:0x7 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_load_pck v5, v[0:3], s[8:15] dmask:0x1 glc
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_load_pck_sgn v5, v[0:3], s[8:15] dmask:0x1 lwe
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_load_mip v5, v[0:3], s[8:15]
// NOGFX940: error: instruction not supported on this GPU
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_load_mip_pck v5, v1, s[8:15] dmask:0x1
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_load_mip_pck_sgn v[4:5], v[0:3], s[8:15] dmask:0x5
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_store v[192:194], v[238:241], s[28:35] dmask:0x7 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_store_pck v1, v[2:5], s[12:19] dmask:0x1 unorm da
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_store_mip v1, v[2:5], s[12:19]
// NOGFX940: error: instruction not supported on this GPU
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
image_store_mip_pck v252, v[2:3], s[12:19] dmask:0x1 a16
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_add v4, v192, s[28:35] dmask:0x1 unorm glc
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_and v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_swap v4, v[192:195], s[28:35] dmask:0x1 unorm glc
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_cmpswap v[4:5], v[192:195], s[28:35] dmask:0x3 unorm glc
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_or v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_xor v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_sub v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_smin v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_smax v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_umin v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_umax v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_inc v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_atomic_dec v4, v192, s[28:35] dmask:0x1 unorm
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_get_resinfo v5, v1, s[8:15] dmask:0x1
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_sample v5, v[0:3], s[8:15], s[12:15] dmask:0x1
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:
image_gather4 v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x2
// NOGFX940: error:
// NOGFX940: :[[@LINE-1]]:{{[0-9]+}}: error:

View File

@ -11,27 +11,27 @@
image_load v[4:6], v[237:240], s[28:35] dmask:0x7 tfe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_load v[4:5], v[237:240], s[28:35] dmask:0x7
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: image data size does not match dmask and d16
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
image_store v[4:7], v[237:240], s[28:35] dmask:0x7
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: image data size does not match dmask and d16
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
image_store v[4:7], v[237:240], s[28:35] dmask:0xe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: image data size does not match dmask and d16
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
image_load v4, v[237:240], s[28:35] tfe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Image Sample
@ -40,17 +40,17 @@ image_load v4, v[237:240], s[28:35] tfe
image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x7 tfe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x3
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: image data size does not match dmask and d16
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0xf
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
// NOGFX90A: error: image data size does not match dmask and d16
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask and d16
//===----------------------------------------------------------------------===//
// Image Atomics
@ -59,37 +59,37 @@ image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0xf
image_atomic_add v252, v2, s[8:15] dmask:0x1 tfe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask and tfe
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_atomic_add v[6:7], v255, s[8:15] dmask:0x2
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask and tfe
// NOGFX90A: error: image data size does not match dmask
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask
image_atomic_add v[6:7], v255, s[8:15] dmask:0xf
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask and tfe
// NOGFX90A: error: image data size does not match dmask
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask
image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xf tfe
// NOGCN: error: image data size does not match dmask and tfe
// NOGFX9: error: image data size does not match dmask and tfe
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_atomic_add v252, v2, s[8:15]
// NOGCN: error: invalid atomic image dmask
// NOGFX9: error: invalid atomic image dmask
// NOGFX90A: error: invalid atomic image dmask
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid atomic image dmask
image_atomic_add v[6:7], v255, s[8:15] dmask:0x2 tfe
// NOGCN: error: invalid atomic image dmask
// NOGFX9: error: invalid atomic image dmask
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
// NOGCN: error: invalid atomic image dmask
// NOGFX9: error: invalid atomic image dmask
// NOGFX90A: error: invalid operand for instruction
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Image Gather
@ -98,4 +98,4 @@ image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xe tfe
image_gather4_cl v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x3
// NOGCN: error: invalid image_gather dmask: only one bit must be set
// NOGFX9: error: invalid image_gather dmask: only one bit must be set
// NOGFX90A: error: instruction not supported on this GPU
// NOGFX90A: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -37,17 +37,17 @@ image_load v[4:7], v[237:240], s[28:35] dmask:0x7 tfe
// Verify support of all possible modifiers.
// FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.
image_load v[5:6], v[1:4], s[8:15] dmask:0x1 unorm glc slc r128 tfe lwe da d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// VI: image_load v[5:6], v[1:4], s[8:15] dmask:0x1 unorm glc slc r128 tfe lwe da d16 ; encoding: [0x00,0xf1,0x03,0xf2,0x01,0x05,0x02,0x80]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
image_load v5, v[1:4], s[8:15] d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// GFX89: image_load v5, v[1:4], s[8:15] d16 ; encoding: [0x00,0x00,0x00,0xf0,0x01,0x05,0x02,0x80]
image_load v5, v[1:4], s[8:15] r128
// SICIVI: image_load v5, v[1:4], s[8:15] r128 ; encoding: [0x00,0x80,0x00,0xf0,0x01,0x05,0x02,0x00]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-2]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
image_store v[193:195], v[237:240], s[28:35] dmask:0x7 unorm
// GCN: image_store v[193:195], v[237:240], s[28:35] dmask:0x7 unorm ; encoding: [0x00,0x17,0x20,0xf0,0xed,0xc1,0x07,0x00]
@ -70,18 +70,18 @@ image_store v[193:194], v[237:240], s[28:35] tfe
// Verify support of all possible modifiers.
// FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.
image_store v5, v[1:4], s[8:15] dmask:0x1 unorm glc slc r128 lwe da d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// VI: image_store v5, v[1:4], s[8:15] dmask:0x1 unorm glc slc r128 lwe da d16 ; encoding: [0x00,0xf1,0x22,0xf2,0x01,0x05,0x02,0x80]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
image_store v5, v[1:4], s[8:15] d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// GFX89: image_store v5, v[1:4], s[8:15] d16 ; encoding: [0x00,0x00,0x20,0xf0,0x01,0x05,0x02,0x80]
// FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.
image_store v5, v[1:4], s[8:15] r128
// SICIVI: image_store v5, v[1:4], s[8:15] r128 ; encoding: [0x00,0x80,0x20,0xf0,0x01,0x05,0x02,0x00]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-2]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
//===----------------------------------------------------------------------===//
// Image Load/Store: d16 unpacked
@ -90,31 +90,31 @@ image_store v5, v[1:4], s[8:15] r128
image_load v[5:6], v[1:4], s[8:15] dmask:0x3 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_load v[5:6], v[1:4], s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_load v[5:7], v[1:4], s[8:15] dmask:0x7 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_load v[5:7], v[1:4], s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_load v[5:8], v[1:4], s[8:15] dmask:0xf d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_load v[5:8], v[1:4], s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_load v[5:7], v[1:4], s[8:15] dmask:0x3 tfe d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_load v[5:7], v[1:4], s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_load v[5:8], v[1:4], s[8:15] dmask:0x7 tfe d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_load v[5:8], v[1:4], s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
//===----------------------------------------------------------------------===//
@ -123,37 +123,37 @@ image_load v[5:8], v[1:4], s[8:15] dmask:0x7 tfe d16
image_load v5, v[1:4], s[8:15] dmask:0x3 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v5, v[1:4], s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v5, v[1:4], s[8:15] dmask:0x3 d16 ; encoding: [0x00,0x03,0x00,0xf0,0x01,0x05,0x02,0x80]
image_load v[5:6], v[1:4], s[8:15] dmask:0x7 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v[5:6], v[1:4], s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v[5:6], v[1:4], s[8:15] dmask:0x7 d16 ; encoding: [0x00,0x07,0x00,0xf0,0x01,0x05,0x02,0x80]
image_load v[5:6], v[1:4], s[8:15] dmask:0xf d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v[5:6], v[1:4], s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v[5:6], v[1:4], s[8:15] dmask:0xf d16 ; encoding: [0x00,0x0f,0x00,0xf0,0x01,0x05,0x02,0x80]
image_load v[5:6], v[1:4], s[8:15] dmask:0x3 tfe d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v[5:6], v[1:4], s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v[5:6], v[1:4], s[8:15] dmask:0x3 tfe d16 ; encoding: [0x00,0x03,0x01,0xf0,0x01,0x05,0x02,0x80]
image_load v[5:7], v[1:4], s[8:15] dmask:0x7 tfe d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v[5:7], v[1:4], s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v[5:7], v[1:4], s[8:15] dmask:0x7 tfe d16 ; encoding: [0x00,0x07,0x01,0xf0,0x01,0x05,0x02,0x80]
image_load v[5:7], v[1:4], s[8:15] dmask:0xf tfe d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_load v[5:7], v[1:4], s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x01,0x05,0x02,0x80]
// GFX9: image_load v[5:7], v[1:4], s[8:15] dmask:0xf tfe d16 ; encoding: [0x00,0x0f,0x01,0xf0,0x01,0x05,0x02,0x80]
@ -267,13 +267,13 @@ image_load_pck_sgn v5, v[1:4], s[8:15] dmask:0x1 lwe
// GCN: image_load_pck_sgn v5, v[1:4], s[8:15] dmask:0x1 lwe ; encoding: [0x00,0x01,0x0e,0xf0,0x01,0x05,0x02,0x00]
image_load_mip_pck v5, v[1:4], s[8:15] dmask:0x1 d16
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_load_mip_pck v5, v[1:2], s[8:15] dmask:0x1 a16
// GFX9: image_load_mip_pck v5, v[1:2], s[8:15] dmask:0x1 a16 ; encoding: [0x00,0x81,0x10,0xf0,0x01,0x05,0x02,0x00]
// NOSICI: error: a16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: a16 modifier is not supported on this GPU
// NOVI: error: a16 modifier is not supported on this GPU
image_store_mip_pck v252, v2, s[12:19] dmask:0x1 unorm
@ -295,13 +295,13 @@ image_store_pck v1, v[2:5], s[12:19] dmask:0x1 unorm da
// GCN: image_store_pck v1, v[2:5], s[12:19] dmask:0x1 unorm da ; encoding: [0x00,0x51,0x28,0xf0,0x02,0x01,0x03,0x00]
image_store_mip_pck v252, v[2:5], s[12:19] dmask:0x1 d16
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOVI: error: invalid operand for instruction
// NOGFX9: error: invalid operand for instruction
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: invalid operand for instruction
image_store_mip_pck v252, v[2:3], s[12:19] dmask:0x1 a16
// GFX9: image_store_mip_pck v252, v[2:3], s[12:19] dmask:0x1 a16 ; encoding: [0x00,0x81,0x2c,0xf0,0x02,0xfc,0x03,0x00]
// NOSICI: error: a16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: a16 modifier is not supported on this GPU
// NOVI: error: a16 modifier is not supported on this GPU
//===----------------------------------------------------------------------===//
@ -329,10 +329,10 @@ image_sample v[193:194], v[237:240], s[28:35], s[4:7] tfe
// FIXME: This test is incorrect because r128 assumes a 128-bit SRSRC.
image_sample v193, v[237:240], s[28:35], s[4:7] r128
// SICIVI: image_sample v193, v[237:240], s[28:35], s[4:7] r128 ; encoding: [0x00,0x80,0x80,0xf0,0xed,0xc1,0x27,0x00]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-2]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
image_sample v193, v[237:240], s[28:35], s[4:7] d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: d16 modifier is not supported on this GPU
// GFX89: image_sample v193, v[237:240], s[28:35], s[4:7] d16 ; encoding: [0x00,0x00,0x80,0xf0,0xed,0xc1,0x27,0x80]
//===----------------------------------------------------------------------===//
@ -342,7 +342,7 @@ image_sample v193, v[237:240], s[28:35], s[4:7] d16
image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x7 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
//===----------------------------------------------------------------------===//
@ -351,7 +351,7 @@ image_sample v[193:195], v[237:240], s[28:35], s[4:7] dmask:0x7 d16
image_sample v[193:194], v[237:240], s[28:35], s[4:7] dmask:0x7 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_sample v[193:194], v[237:240], s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
// GFX9: image_sample v[193:194], v[237:240], s[28:35], s[4:7] dmask:0x7 d16 ; encoding: [0x00,0x07,0x80,0xf0,0xed,0xc1,0x27,0x80]
@ -443,7 +443,7 @@ image_atomic_cmpswap v[4:7], v[192:195], s[28:35] dmask:0xf unorm glc
image_atomic_add v10, v6, s[8:15] dmask:0x1 r128
// SICI: image_atomic_add v10, v6, s[8:15] dmask:0x1 r128 ; encoding: [0x00,0x81,0x44,0xf0,0x06,0x0a,0x02,0x00]
// VI: image_atomic_add v10, v6, s[8:15] dmask:0x1 r128 ; encoding: [0x00,0x81,0x48,0xf0,0x06,0x0a,0x02,0x00]
// NOGFX9: error: r128 modifier is not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: r128 modifier is not supported on this GPU
//===----------------------------------------------------------------------===//
// Image Gather4
@ -470,19 +470,19 @@ image_gather4 v[5:8], v[1:4], s[8:15], s[12:15] dmask:0x8
image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// GFX8_0: image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16
// NOSICI: error: d16 modifier is not supported on this GPU
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// GFX8_1: image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
// GFX9: image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1 d16 ; encoding: [0x00,0x01,0x00,0xf1,0x01,0x05,0x62,0x80]
image_gather4 v[5:6], v1, s[8:15], s[12:15] dmask:0x1
// NOSICI: error: image data size does not match dmask and tfe
// NOGFX8_0: error: image data size does not match dmask and tfe
// NOGFX8_1: error: image data size does not match dmask, d16 and tfe
// NOGFX8_0: :[[@LINE-2]]:{{[0-9]+}}: error: image data size does not match dmask and tfe
// NOGFX8_1: :[[@LINE-3]]:{{[0-9]+}}: error: image data size does not match dmask, d16 and tfe
// NOGFX9: error: image data size does not match dmask, d16 and tfe
image_gather4 v[5:8], v1, s[8:15], s[12:15] dmask:0x1 a16

View File

@ -1,25 +1,25 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx90a %s 2>&1 | FileCheck --check-prefixes=GFX90A --implicit-check-not=error: %s
v_add_f64 v[1:2], v[1:2], v[1:2]
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
global_load_dwordx3 v[1:3], v[0:1], off
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
global_load_dwordx4 v[1:4], v[0:1], off
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
image_load v[1:4], v2, s[0:7] dmask:0xf unorm
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
v_mfma_f32_32x32x8f16 a[0:15], a[1:2], v[0:1], a[0:15]
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
v_mfma_i32_4x4x4i8 a[1:4], a0, v1, 2
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
v_mfma_f32_16x16x1f32 a[0:15], a0, v1, a[17:32]
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned
v_mfma_f32_32x32x1f32 a[0:31], v0, v1, a[33:64]
// GFX90A: error: invalid register class: vgpr tuples must be 64 bit aligned
// GFX90A: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register class: vgpr tuples must be 64 bit aligned

View File

@ -133,28 +133,28 @@ tbuffer_store_format_x v0, v1, s[0:3] format:0 s0 idxen
// Negative tests for legacy format syntax.
//===----------------------------------------------------------------------===//
// GFX10-ERR: error: out of range format
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: out of range format
tbuffer_load_format_d16_x v0, off, s[0:3], format:-1, 0
// GFX10-ERR: error: out of range format
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: out of range format
tbuffer_load_format_d16_x v0, off, s[0:3], format:128, s0
// GFX10-ERR: error: too few operands for instruction
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: too few operands for instruction
tbuffer_load_format_d16_x v0, off, s[0:3], format:127
// GFX10-ERR: error: too few operands for instruction
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: too few operands for instruction
tbuffer_load_format_d16_x v0, off, s[0:3]
// GFX10-ERR: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: invalid operand for instruction
tbuffer_load_format_d16_x v0, off, s[0:3] idxen
// GFX10-ERR: error: unknown token in expression
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_load_format_d16_x v0, off, s[0:3], format:1,, s0
// GFX10-ERR: error: unknown token in expression
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_load_format_d16_x v0, off, s[0:3], format:1:, s0
// GFX10-ERR: error: unknown token in expression
// GFX10-ERR: :[[@LINE+1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_load_format_d16_x v0, off, s[0:3],, format:1, s0
//===----------------------------------------------------------------------===//
@ -243,47 +243,47 @@ tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_NUM_FORMAT_SINT] id
// Unknown format specifier
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Valid but unsupported format specifier (SNORM_OGL is supported for SI/CI only)
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_NUM_FORMAT_SNORM_OGL] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Valid but unsupported format specifier (RESERVED_6 is supported for VI/GFX9 only)
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_NUM_FORMAT_RESERVED_6] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_32] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_32_32] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_32_32_32] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_32_32_32_32] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_32_32_32_32, BUF_NUM_FORMAT_UNORM] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_RESERVED_15] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_NUM_FORMAT_FLOAT] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Unsupported format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_DATA_FORMAT_8_8, BUF_NUM_FORMAT_FLOAT] idxen
// GFX10-ERR: error: unsupported format
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
//===----------------------------------------------------------------------===//
// Positive tests for unified MTBUF format (GFX10+).
@ -529,12 +529,12 @@ tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_32_32_32_32_FLO
// Excessive commas
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,] idxen
// GFX10-ERR: error: expected a closing square bracket
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// Duplicate format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,BUF_FMT_8_SNORM] idxen
// GFX10-ERR: error: expected a closing square bracket
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// Duplicate format
tbuffer_store_format_xyzw v[1:4], v1, s[4:7], s0 format:[BUF_FMT_8_SNORM,BUF_DATA_FORMAT_8] idxen
// GFX10-ERR: error: expected a closing square bracket
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket

View File

@ -94,46 +94,46 @@ tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:-1+dfmt+1 nfmt:nfmt ttmp1
//===----------------------------------------------------------------------===//
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:-1 nfmt:1 s0
// GCN-ERR: error: out of range dfmt
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range dfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:16 nfmt:1 s0
// GCN-ERR: error: out of range dfmt
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range dfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:-1 s0
// GCN-ERR: error: out of range nfmt
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range nfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:8 s0
// GCN-ERR: error: out of range nfmt
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range nfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7]
// GCN-ERR: error: too few operands for instruction
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7],, dfmt:1 nfmt:1 s0
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1,, nfmt:1 s0
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:1,, s0
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 dfmt:1 s0
// GCN-ERR: error: invalid operand for instruction
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] nfmt:1 nfmt:1 s0
// GCN-ERR: error: invalid operand for instruction
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:1 dfmt:1 s0
// GCN-ERR: error: invalid operand for instruction
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] nfmt:1 dfmt:1 nfmt:1 s0
// GCN-ERR: error: invalid operand for instruction
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1: nfmt:1 s0
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7] dfmt:1 nfmt:1: s0
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
//===----------------------------------------------------------------------===//
// Tests for symbolic MTBUF format
@ -277,7 +277,7 @@ tbuffer_store_format_xyzw v[1:4], v[1:2], ttmp[4:7], s0, format:[BUF_DATA_FORMAT
// Check addr64
tbuffer_store_format_xyzw v[1:4], v[1:2], ttmp[4:7], s0, format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] addr64
// SICI: tbuffer_store_format_xyzw v[1:4], v[1:2], ttmp[4:7], s0 format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT] addr64 ; encoding: [0x00,0x80,0xa7,0xeb,0x01,0x01,0x1d,0x00]
// VI-ERR: error: invalid operand for instruction
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Tests for symbolic format errors handling
@ -285,95 +285,95 @@ tbuffer_store_format_xyzw v[1:4], v[1:2], ttmp[4:7], s0, format:[BUF_DATA_FORMAT
// Missing soffset
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], format:[BUF_DATA_FORMAT_32]
// GCN-ERR: error: not a valid operand.
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// Invalid soffset
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s[255] format:[BUF_NUM_FORMAT_FLOAT]
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
// Both legacy and symbolic formats are specified
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], dfmt:1 s0 format:[BUF_NUM_FORMAT_FLOAT]
// GCN-ERR: error: duplicate format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate format
// Missing format number
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format: offset:52
// GCN-ERR: error: expected absolute expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// Invalid number
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:-1
// GCN-ERR: error: out of range format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range format
// Invalid number
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:128
// GCN-ERR: error: out of range format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range format
MAXVAL=127
// Invalid expression
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:MAXVAL+1
// GCN-ERR: error: out of range format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: out of range format
// Empty list
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[]
// GCN-ERR: error: expected a format string
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a format string
// More than 2 format specifiers
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT,BUF_DATA_FORMAT_8]
// GCN-ERR: error: expected a closing square bracket
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// More than 2 format specifiers
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_UINT,BUF_DATA_FORMAT_32,BUF_NUM_FORMAT_FLOAT]
// GCN-ERR: error: expected a closing square bracket
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// Missing brackets
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:BUF_NUM_FORMAT_UINT
// GCN-ERR: error: expected absolute expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// Unpaired brackets
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_UINT
// GCN-ERR: error: expected a closing square bracket
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// Unpaired brackets
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:BUF_NUM_FORMAT_UINT]
// GCN-ERR: error: expected absolute expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// Missing comma
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_UINT BUF_DATA_FORMAT_32]
// GCN-ERR: error: expected a closing square bracket
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
// Duplicate dfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_DATA_FORMAT_32,BUF_DATA_FORMAT_32]
// GCN-ERR: error: duplicate data format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate data format
// Duplicate dfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_DATA_FORMAT_32,BUF_DATA_FORMAT_8]
// GCN-ERR: error: duplicate data format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate data format
// Duplicate nfmt
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_UINT,BUF_NUM_FORMAT_FLOAT]
// GCN-ERR: error: duplicate numeric format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate numeric format
// Unknown format specifier
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_DATA_FORMAT]
// GCN-ERR: error: unsupported format
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// Valid but unsupported format specifier (SNORM_OGL is supported for SI/CI only)
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_SNORM_OGL]
// SICI: tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_SNORM_OGL] ; encoding: [0x00,0x00,0x0f,0xeb,0x00,0x01,0x1d,0x00]
// VI-ERR: error: unsupported format
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: unsupported format
// Valid but unsupported format specifier (RESERVED_6 is supported for VI/GFX9 only)
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_RESERVED_6]
// SICI-ERR: error: unsupported format
// SICI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unsupported format
// VI: tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_NUM_FORMAT_RESERVED_6] ; encoding: [0x00,0x80,0x0b,0xeb,0x00,0x01,0x1d,0x00]
// Excessive commas
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7],, s0 format:[BUF_DATA_FORMAT_8]
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
// Excessive commas
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0,, format:[BUF_DATA_FORMAT_8]
// GCN-ERR: error: not a valid operand.
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// Excessive commas
tbuffer_store_format_xyzw v[1:4], off, ttmp[4:7], s0 format:[BUF_DATA_FORMAT_8],, offset:52
// GCN-ERR: error: unknown token in expression
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression

View File

@ -2,85 +2,85 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga 2>&1 %s | FileCheck -check-prefix=VI-ERR --implicit-check-not=error: %s
buffer_load_ubyte_d16 v1, off, s[4:7], s1
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: buffer_load_ubyte_d16 v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x80,0xe0,0x00,0x01,0x01,0x01]
buffer_load_ubyte_d16_hi v1, off, s[4:7], s1
// GFX9: buffer_load_ubyte_d16_hi v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x84,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_ubyte_d16_hi v[1:2], off, s[4:7], s1 tfe
// GFX9: buffer_load_ubyte_d16_hi v[1:2], off, s[4:7], s1 tfe ; encoding: [0x00,0x00,0x84,0xe0,0x00,0x01,0x81,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_sbyte_d16 v1, off, s[4:7], s1
// GFX9: buffer_load_sbyte_d16 v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x88,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_sbyte_d16_hi v1, off, s[4:7], s1
// GFX9: buffer_load_sbyte_d16_hi v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x8c,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_short_d16 v1, off, s[4:7], s1
// GFX9: buffer_load_short_d16 v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x90,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_short_d16_hi v1, off, s[4:7], s1
// GFX9: buffer_load_short_d16_hi v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x94,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_byte_d16_hi v1, off, s[4:7], s1
// GFX9: buffer_store_byte_d16_hi v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x64,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_short_d16_hi v1, off, s[4:7], s1
// GFX9: buffer_store_short_d16_hi v1, off, s[4:7], s1 ; encoding: [0x00,0x00,0x6c,0xe0,0x00,0x01,0x01,0x01]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 ; encoding: [0x00,0x00,0x98,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 ; encoding: [0xff,0x0f,0x98,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 idxen offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 idxen offset:4095 ; encoding: [0xff,0x2f,0x98,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 offen offset:4095
// GFX9: buffer_load_format_d16_hi_x v5, v0, s[8:11], s3 offen offset:4095 ; encoding: [0xff,0x1f,0x98,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 glc
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 glc ; encoding: [0xff,0x4f,0x98,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 slc
// GFX9: buffer_load_format_d16_hi_x v5, off, s[8:11], s3 offset:4095 slc ; encoding: [0xff,0x0f,0x9a,0xe0,0x00,0x05,0x02,0x03]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v255, off, s[12:15], s4
// GFX9: buffer_store_format_d16_hi_x v255, off, s[12:15], s4 ; encoding: [0x00,0x00,0x9c,0xe0,0x00,0xff,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v255, off, s[12:15], s4 offset:4095
// GFX9: buffer_store_format_d16_hi_x v255, off, s[12:15], s4 offset:4095 ; encoding: [0xff,0x0f,0x9c,0xe0,0x00,0xff,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 idxen offset:4095
// GFX9: buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 idxen offset:4095 ; encoding: [0xff,0x2f,0x9c,0xe0,0x00,0x01,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 offen offset:4095
// GFX9: buffer_store_format_d16_hi_x v1, v0, s[12:15], s4 offen offset:4095 ; encoding: [0xff,0x1f,0x9c,0xe0,0x00,0x01,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc
// GFX9: buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 glc ; encoding: [0xff,0x4f,0x9c,0xe0,0x00,0x01,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 slc
// GFX9: buffer_store_format_d16_hi_x v1, off, s[12:15], s4 offset:4095 slc ; encoding: [0xff,0x0f,0x9e,0xe0,0x00,0x01,0x03,0x04]
// VI-ERR: error: instruction not supported on this GPU
// VI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -172,35 +172,35 @@ buffer_load_dword v[1:2], v[2:3], ttmp[4:7], ttmp1 idxen offen offset:4 glc slc
buffer_load_dword v1, v[2:3], s[4:7], s1 addr64
// SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4
// SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc
// SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc
// SICI: buffer_load_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x41,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 offset:4 tfe
// SICI: buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 offset:4 tfe ; encoding: [0x04,0x80,0x30,0xe0,0x02,0x01,0x81,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 glc tfe
// SICI: buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 glc tfe ; encoding: [0x00,0xc0,0x30,0xe0,0x02,0x01,0x81,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe
// SICI: buffer_load_dword v[1:2], v[2:3], s[4:7], s1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xc1,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword v[1:2], v[2:3], ttmp[4:7], ttmp1 addr64 offset:4 glc slc tfe
// SICI: buffer_load_dword v[1:2], v[2:3], ttmp[4:7], ttmp1 addr64 offset:4 glc slc tfe ; encoding: [0x04,0xc0,0x30,0xe0,0x02,0x01,0xdd,0x71]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// store - immediate offset only
@ -288,19 +288,19 @@ buffer_store_dword v1, v[2:3], s[4:7], s1 idxen offen offset:4 slc
buffer_store_dword v1, v[2:3], s[4:7], s1 addr64
// SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 ; encoding: [0x00,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4
// SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc
// SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 glc ; encoding: [0x04,0xc0,0x70,0xe0,0x02,0x01,0x01,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc
// SICI: buffer_store_dword v1, v[2:3], s[4:7], s1 addr64 offset:4 slc ; encoding: [0x04,0x80,0x70,0xe0,0x02,0x01,0x41,0x01]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
//===----------------------------------------------------------------------===//
// Instructions
@ -428,36 +428,36 @@ buffer_wbinvl1
buffer_wbinvl1_sc
// SI: buffer_wbinvl1_sc ; encoding: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00]
// NOCI: error: instruction not supported on this GPU
// NOVI: error: instruction not supported on this GPU
// NOCI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_wbinvl1_vol
// CI: buffer_wbinvl1_vol ; encoding: [0x00,0x00,0xc0,0xe1,0x00,0x00,0x00,0x00]
// VI: buffer_wbinvl1_vol ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// Atomics
//===----------------------------------------------------------------------===//
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 ; encoding: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x02,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], s4 addr64
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], s4 addr64 ; encoding: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x02,0x04]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 slc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 slc ; encoding: [0x00,0x80,0xf0,0xe0,0x02,0x01,0x42,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 ; encoding: [0x04,0x80,0xf0,0xe0,0x02,0x01,0x02,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 slc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 slc ; encoding: [0x04,0x80,0xf0,0xe0,0x02,0x01,0x42,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, off, s[8:11], 56
// SICI: buffer_atomic_inc v1, off, s[8:11], 56 ; encoding: [0x00,0x00,0xf0,0xe0,0x00,0x01,0x02,0xb8]
@ -541,23 +541,23 @@ buffer_atomic_inc v1, v[2:3], s[8:11], 56 idxen offen offset:4 slc
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 glc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 glc ; encoding: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x02,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], s4 addr64 glc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], s4 addr64 glc ; encoding: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x02,0x04]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 glc slc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 glc slc ; encoding: [0x00,0xc0,0xf0,0xe0,0x02,0x01,0x42,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 glc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 glc ; encoding: [0x04,0xc0,0xf0,0xe0,0x02,0x01,0x02,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 glc slc
// SICI: buffer_atomic_inc v1, v[2:3], s[8:11], 56 addr64 offset:4 glc slc ; encoding: [0x04,0xc0,0xf0,0xe0,0x02,0x01,0x42,0xb8]
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_atomic_inc v1, off, s[8:11], 56 glc
// SICI: buffer_atomic_inc v1, off, s[8:11], 56 glc ; encoding: [0x00,0x40,0xf0,0xe0,0x00,0x01,0x02,0xb8]
@ -644,64 +644,64 @@ buffer_atomic_add v5, off, s[8:11], 0.5 offset:4095 glc
// VI: buffer_atomic_add v5, off, s[8:11], 0.5 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0xf0]
buffer_atomic_add v5, off, s[8:11], 0.15915494 offset:4095 glc
// NOSICI: error: invalid operand for instruction
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: buffer_atomic_add v5, off, s[8:11], 0.15915494 offset:4095 glc ; encoding: [0xff,0x4f,0x08,0xe1,0x00,0x05,0x02,0xf8]
buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fcmpswap v[0:1], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0xf8,0xe0,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fcmpswap v[0:1], v[0:1], s[0:3], s0 addr64 offset:4095
// SICI: buffer_atomic_fcmpswap v[0:1], v[0:1], s[0:3], s0 addr64 offset:4095 ; encoding: [0xff,0x8f,0xf8,0xe0,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fcmpswap_x2 v[0:3], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x78,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fcmpswap_x2 v[0:3], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fcmpswap_x2 v[0:3], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x78,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmax v1, off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fmax v1, off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x00,0xe1,0x00,0x01,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmax v0, off, s[0:3], s0 offset:7
// SICI: buffer_atomic_fmax v0, off, s[0:3], s0 offset:7 ; encoding: [0x07,0x00,0x00,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc
// SICI: buffer_atomic_fmax v0, off, s[0:3], s0 offset:4095 glc ; encoding: [0xff,0x4f,0x00,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmax_x2 v[5:6], off, s[0:3], s0 offset:4095
// SICI: buffer_atomic_fmax_x2 v[5:6], off, s[0:3], s0 offset:4095 ; encoding: [0xff,0x0f,0x80,0xe1,0x00,0x05,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fmax_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x80,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmin v0, v[0:1], s[0:3], s0 addr64 offset:4095
// SICI: buffer_atomic_fmin v0, v[0:1], s[0:3], s0 addr64 offset:4095 ; encoding: [0xff,0x8f,0xfc,0xe0,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmin v0, off, s[0:3], s0
// SICI: buffer_atomic_fmin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmin v0, off, s[0:3], s0 offset:0
// SICI: buffer_atomic_fmin v0, off, s[0:3], s0 ; encoding: [0x00,0x00,0xfc,0xe0,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc
// SICI: buffer_atomic_fmin_x2 v[0:1], off, s[0:3], s0 offset:4095 slc ; encoding: [0xff,0x0f,0x7c,0xe1,0x00,0x00,0x40,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
buffer_atomic_fmin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095
// SICI: buffer_atomic_fmin_x2 v[0:1], v0, s[0:3], s0 idxen offset:4095 ; encoding: [0xff,0x2f,0x7c,0xe1,0x00,0x00,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// Lds support
@ -760,15 +760,15 @@ buffer_load_format_x v[0:1], s[8:11], s3 idxen offen offset:4095 glc slc lds
// VI: buffer_load_format_x v[0:1], s[8:11], s3 idxen offen offset:4095 glc slc lds ; encoding: [0xff,0x7f,0x03,0xe0,0x00,0x00,0x02,0x03]
buffer_store_lds_dword s[4:7], s0 lds
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: buffer_store_lds_dword s[4:7], s0 lds ; encoding: [0x00,0x00,0xf5,0xe0,0x00,0x00,0x01,0x00]
buffer_store_lds_dword s[4:7], s0 offset:4095 lds
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: buffer_store_lds_dword s[4:7], s0 offset:4095 lds ; encoding: [0xff,0x0f,0xf5,0xe0,0x00,0x00,0x01,0x00]
buffer_store_lds_dword s[4:7], s8 offset:4 lds glc slc
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: buffer_store_lds_dword s[4:7], s8 offset:4 lds glc slc ; encoding: [0x04,0x40,0xf7,0xe0,0x00,0x00,0x01,0x08]
//===----------------------------------------------------------------------===//
@ -776,24 +776,24 @@ buffer_store_lds_dword s[4:7], s8 offset:4 lds glc slc
//===----------------------------------------------------------------------===//
buffer_load_sbyte off, s[8:11], s3 lds tfe
// NOSICIVI: error: invalid operand for instruction
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_load_dword off, s[8:11], s3 tfe lds
// NOSICIVI: error: invalid operand for instruction
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
buffer_store_lds_dword s[4:7], s8 offset:4 lds tfe
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
buffer_store_lds_dword s[4:7], s8 offset:4 tfe lds
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOVI: error: invalid operand for instruction
buffer_load_dword off, s[8:11], s3
// NOSICIVI: error: too few operands for instruction
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
buffer_load_dword off, s[8:11], s3 offset:1
// NOSICIVI: error: too few operands for instruction
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
buffer_store_dword v[1:2], off, s[4:7], s1 tfe
// NOSICIVI: error: TFE modifier has no meaning for store instructions
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: TFE modifier has no meaning for store instructions

View File

@ -9,109 +9,109 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -show-encoding %s | FileCheck -check-prefix=GFX10 %s
s_add_i32 s106, s0, s1
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_add_i32 s104, s0, s1
// SICIVI9-ERR: error: register not available on this GPU
// SICIVI9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10: s_add_i32 s104, s0, s1 ; encoding:
s_add_i32 s105, s0, s1
// SICIVI9-ERR: error: register not available on this GPU
// SICIVI9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10: s_add_i32 s105, s0, s1 ; encoding:
v_add_i32 v256, v0, v1
// GFX10-ERR: error: instruction not supported on this GPU
// GFX9-ERR: error: register index is out of range
// SI-ERR: error: register index is out of range
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register index is out of range
// SI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register index is out of range
// VI-ERR: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_add_i32 v257, v0, v1
// GFX10-ERR: error: instruction not supported on this GPU
// GFX9-ERR: error: register index is out of range
// SI-ERR: error: register index is out of range
// VI-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register index is out of range
// SI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register index is out of range
// VI-ERR: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_mov_b64 s[0:17], -1
// GCN-ERR: error: invalid or unsupported register size
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or unsupported register size
s_mov_b64 s[103:104], -1
// GCN-ERR: error: invalid register alignment
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b64 s[105:106], -1
// GCN-ERR: error: invalid register alignment
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b64 s[104:105], -1
// SICIVI9-ERR: error: register not available on this GPU
// SICIVI9-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10: s_mov_b64 s[104:105], -1 ; encoding:
s_load_dwordx4 s[102:105], s[2:3], s4
// GCN-ERR: error: invalid register alignment
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_load_dwordx4 s[104:108], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx4 s[108:112], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx4 s[1:4], s[2:3], s4
// GCN-ERR: error: invalid register alignment
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_load_dwordx4 s[2:5], s[2:3], s4
// GCN-ERR: error: invalid register alignment
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_load_dwordx8 s[104:111], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx8 s[100:107], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx8 s[108:115], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx16 s[92:107], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx16 s[96:111], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx16 s[100:115], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx16 s[104:119], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_load_dwordx16 s[108:123], s[2:3], s4
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b32 ttmp16, 0
// GCN-ERR: error: register index is out of range
// GCN-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b32 ttmp12, 0
// GFX9: s_mov_b32 ttmp12, 0 ; encoding:
// GFX10: s_mov_b32 ttmp12, 0 ; encoding:
// SIVICI-ERR: error: register not available on this GPU
// SIVICI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b32 ttmp15, 0
// GFX9: s_mov_b32 ttmp15, 0 ; encoding:
// GFX10: s_mov_b32 ttmp15, 0 ; encoding:
// SIVICI-ERR: error: register not available on this GPU
// SIVICI-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b32 flat_scratch_lo, 0
// SI-ERR: error: register not available on this GPU
// GFX10-ERR: error: register not available on this GPU
// SI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// CIVI9: s_mov_b32 flat_scratch_lo, 0 ; encoding: [0x80,0x00,0xe6,0xbe]
s_mov_b32 flat_scratch_hi, 0
// SI-ERR: error: register not available on this GPU
// GFX10-ERR: error: register not available on this GPU
// SI-ERR: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// CIVI9: s_mov_b32 flat_scratch_hi, 0 ; encoding: [0x80,0x00,0xe7,0xbe]
s_mov_b32 tma_lo, 0
// SIVICI: s_mov_b32 tma_lo, 0 ; encoding:
// GFX9-ERR: error: register not available on this GPU
// GFX10-ERR: error: register not available on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b32 tba_lo, 0
// SIVICI: s_mov_b32 tba_lo, 0 ; encoding:
// GFX9-ERR: error: register not available on this GPU
// GFX10-ERR: error: register not available on this GPU
// GFX9-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU

View File

@ -1,151 +1,151 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
s_mov_b32 s1, s 1
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s1, s[0 1
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, s[0:0 1
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, [s[0 1
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, [s[0:1] 1
// NOVI: error: expected a single 32-bit register
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a single 32-bit register
s_mov_b32 s1, [s0, 1
// NOVI: error: expected a register or a list of registers
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a register or a list of registers
s_mov_b32 s1, s999 1
// NOVI: error: register index is out of range
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b32 s1, s[1:2] 1
// NOVI: error: invalid register alignment
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b32 s1, s[0:2] 1
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s1, xnack_mask_lo 1
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b32 s1, s s0
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s1, s[0 s0
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, s[0:0 s0
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, [s[0 s0
// NOVI: error: expected a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing square bracket
s_mov_b32 s1, [s[0:1] s0
// NOVI: error: expected a single 32-bit register
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a single 32-bit register
s_mov_b32 s1, [s0, s0
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b32 s1, s999 s0
// NOVI: error: register index is out of range
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b32 s1, s[1:2] s0
// NOVI: error: invalid register alignment
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b32 s1, s[0:2] vcc_lo
// NOVI: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s1, xnack_mask_lo s1
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
exp mrt0 v1, v2, v3, v4000 off
// NOVI: error: register index is out of range
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
v_add_f64 v[0:1], v[0:1], v[0xF00000001:0x2]
// NOVI: error: invalid register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register index
v_add_f64 v[0:1], v[0:1], v[0x1:0xF00000002]
// NOVI: error: invalid register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register index
s_mov_b32 s1, s[0:-1]
// NOVI: error: invalid register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register index
s_mov_b64 s[10:11], [exec_lo,vcc_hi]
// NOVI: error: register does not fit in the list
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register does not fit in the list
s_mov_b64 s[10:11], [exec_hi,exec_lo]
// NOVI: error: register does not fit in the list
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register does not fit in the list
s_mov_b64 s[10:11], [exec_lo,exec_lo]
// NOVI: error: register does not fit in the list
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register does not fit in the list
s_mov_b64 s[10:11], [exec,exec_lo]
// NOVI: error: register does not fit in the list
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register does not fit in the list
s_mov_b64 s[10:11], [exec_lo,exec]
// NOVI: error: register does not fit in the list
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register does not fit in the list
s_mov_b64 s[10:11], [exec_lo,s0]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [s0,exec_lo]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [s0,exec]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [s0,v1]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [v0,s1]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [s0,s0]
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b64 s[10:11], [s0,s2]
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b64 s[10:11], [s2,s1]
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b64 s[10:11], [a0,a2]
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b64 s[10:11], [a0,v1]
// NOVI: error: registers in a list must be of the same kind
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must be of the same kind
s_mov_b64 s[10:11], [s
// NOVI: error: missing register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: missing register index
s_mov_b64 s[10:11], s[1:0]
// NOVI: error: first register index should not exceed second index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: first register index should not exceed second index
s_mov_b64 s[10:11], [x0,s1]
// NOVI: error: invalid register name
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register name
s_mov_b64 s[10:11], [s,s1]
// NOVI: error: missing register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: missing register index
s_mov_b64 s[10:11], [s01,s1]
// NOVI: error: registers in a list must have consecutive indices
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: registers in a list must have consecutive indices
s_mov_b64 s[10:11], [s0x]
// NOVI: error: invalid register index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register index
s_mov_b64 s[10:11], [s[0:1],s[2:3]]
// NOVI: error: expected a single 32-bit register
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a single 32-bit register
s_mov_b64 s[10:11], [s0,s[2:3]]
// NOVI: error: expected a single 32-bit register
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a single 32-bit register
s_mov_b64 s[10:11], [s0
// NOVI: error: expected a comma or a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma or a closing square bracket
s_mov_b64 s[10:11], [s0,s1
// NOVI: error: expected a comma or a closing square bracket
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma or a closing square bracket
s_mov_b64 s[10:11], s[1:0]
// NOVI: error: first register index should not exceed second index
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: first register index should not exceed second index

View File

@ -38,9 +38,9 @@ s_mov_b64 [exec_lo,exec_hi], s[2:3]
// GFX10: s_mov_b64 exec, s[2:3] ; encoding: [0x02,0x04,0xfe,0xbe]
s_mov_b64 [flat_scratch_lo,flat_scratch_hi], s[2:3]
// NOSICI: error: register not available on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// VI: s_mov_b64 flat_scratch, s[2:3] ; encoding: [0x02,0x01,0xe6,0xbe]
// NOGFX10: error: register not available on this GPU
// NOGFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 [vcc_lo,vcc_hi], s[2:3]
// SICI: s_mov_b64 vcc, s[2:3] ; encoding: [0x02,0x04,0xea,0xbe]
@ -50,12 +50,12 @@ s_mov_b64 [vcc_lo,vcc_hi], s[2:3]
s_mov_b64 [tba_lo,tba_hi], s[2:3]
// SICI: s_mov_b64 tba, s[2:3] ; encoding: [0x02,0x04,0xec,0xbe]
// VI: s_mov_b64 tba, s[2:3] ; encoding: [0x02,0x01,0xec,0xbe]
// NOGFX10: error: register not available on this GPU
// NOGFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 [tma_lo,tma_hi], s[2:3]
// SICI: s_mov_b64 tma, s[2:3] ; encoding: [0x02,0x04,0xee,0xbe]
// VI: s_mov_b64 tma, s[2:3] ; encoding: [0x02,0x01,0xee,0xbe]
// NOGFX10: error: register not available on this GPU
// NOGFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
v_mov_b32_e32 [v1], [v2]
// GCN: v_mov_b32_e32 v1, v2 ; encoding: [0x02,0x03,0x02,0x7e]
@ -118,54 +118,54 @@ s_buffer_load_dwordx4 ttmp[7+1:(3+2)*2+1], [ttmp[45/11],ttmp[5],ttmp6,ttmp[(33+4
flat_load_dword v[8:8], v[2:3]
// VI: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x50,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x30,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dword v[63/8+1:65/8], v[2:3]
// VI: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x50,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x30,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dword v8, v[2*2-2:(3+7)/3]
// VI: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x50,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x30,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dword v[63/8+1], v[2:3]
// VI: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x50,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dword v8, v[2:3] ; encoding: [0x00,0x00,0x30,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dwordx4 v[8:11], v[2*2-2:(3*3-6)]
// VI: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x5c,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x38,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dwordx4 v[8/2+4:11/2+6], v[2:3]
// VI: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x5c,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x38,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
flat_load_dwordx4 [v[8/2+4],v9,v[10],v[11/2+6]], v[2:3]
// VI: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x5c,0xdc,0x02,0x00,0x00,0x08]
// GFX10: flat_load_dwordx4 v[8:11], v[2:3] ; encoding: [0x00,0x00,0x38,0xdc,0x02,0x00,0x7d,0x08]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_mul_f32 v0, null, v2
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// GFX10: v_mul_f32_e32 v0, null, v2 ; encoding: [0x7d,0x04,0x00,0x10]
// NOVI: error: 'null' operand is not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
v_mul_f64 v[0:1], null, null
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// GFX10: v_mul_f64 v[0:1], null, null ; encoding: [0x00,0x00,0x65,0xd5,0x7d,0xfa,0x00,0x00]
// NOVI: error: 'null' operand is not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
s_add_u32 null, null, null
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// GFX10: s_add_u32 null, null, null ; encoding: [0x7d,0x7d,0x7d,0x80]
// NOVI: error: 'null' operand is not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
s_not_b64 s[2:3], null
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// GFX10: s_not_b64 s[2:3], null ; encoding: [0x7d,0x08,0x82,0xbe]
// NOVI: error: 'null' operand is not supported on this GPU
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU

View File

@ -3,10 +3,10 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tahiti %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
// RUN: not llvm-mc -arch=amdgcn -mcpu=bonaire %s 2>&1 | FileCheck %s --check-prefix=NOSICI --implicit-check-not=error:
// NOSICI: error: not a valid operand.
// NOVI: error: invalid row_bcast value
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid row_bcast value
v_mov_b32 v0, v0 row_bcast:0
// NOSICI: error: not a valid operand.
// NOVI: error: invalid row_bcast value
// NOSICI: :[[@LINE+2]]:{{[0-9]+}}: error: not a valid operand.
// NOVI: :[[@LINE+1]]:{{[0-9]+}}: error: invalid row_bcast value
v_mov_b32 v0, v0 row_bcast:13

View File

@ -1,55 +1,55 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
s_memtime exec
// NOVI: :11: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:11: error: invalid operand for instruction
s_memrealtime exec
// NOVI: :15: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:15: error: invalid operand for instruction
s_store_dword m0, s[2:3], 0x0
// NOVI: :15: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:15: error: invalid operand for instruction
s_store_dword exec_lo, s[2:3], 0x0
// NOVI: :15: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:15: error: invalid operand for instruction
s_store_dword exec_hi, s[2:3], 0x0
// NOVI: :15: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:15: error: invalid operand for instruction
s_store_dwordx2 exec, s[2:3], 0x0
// NOVI: :17: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:17: error: invalid operand for instruction
s_buffer_store_dword m0, s[0:3], 0x0
// NOVI: :22: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:22: error: invalid operand for instruction
s_buffer_store_dword exec_lo, s[0:3], 0x0
// NOVI: :22: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:22: error: invalid operand for instruction
s_buffer_store_dword exec_hi, s[0:3], 0x0
// NOVI: :22: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:22: error: invalid operand for instruction
s_buffer_store_dwordx2 exec, s[0:3], 0x0
// NOVI: :24: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:24: error: invalid operand for instruction
s_load_dword m0, s[0:1], s4
// NOVI: :14: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:14: error: invalid operand for instruction
s_load_dword exec_lo, s[0:1], s4
// NOVI: :14: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:14: error: invalid operand for instruction
s_load_dword exec_hi, s[0:1], s4
// NOVI: :14: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:14: error: invalid operand for instruction
s_load_dwordx2 exec, s[0:1], s4
// NOVI: :16: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:16: error: invalid operand for instruction
s_buffer_load_dword m0, s[0:3], s4
// NOVI: :21: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:21: error: invalid operand for instruction
s_buffer_load_dword exec_lo, s[0:3], s4
// NOVI: :21: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:21: error: invalid operand for instruction
s_buffer_load_dword exec_hi, s[0:3], s4
// NOVI: :21: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:21: error: invalid operand for instruction
s_buffer_load_dwordx2 exec, s[0:3], s4
// NOVI: :23: error: invalid operand for instruction
// NOVI: :[[@LINE-1]]:23: error: invalid operand for instruction

View File

@ -16,157 +16,157 @@
s_dcache_wb
// GFX89: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_dcache_wb ; encoding: [0x00,0x00,0x84,0xf4,0x00,0x00,0x00,0x00]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_dcache_wb_vol
// GFX89: s_dcache_wb_vol ; encoding: [0x00,0x00,0x8c,0xc0,0x00,0x00,0x00,0x00]
// NOSICIGFX10: error: instruction not supported on this GPU
// NOSICIGFX10: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atc_probe 0x7, s[4:5], s0
// GFX89: s_atc_probe 7, s[4:5], s0 ; encoding: [0xc2,0x01,0x98,0xc0,0x00,0x00,0x00,0x00]
// GFX10: s_atc_probe 7, s[4:5], s0 ; encoding: [0xc2,0x01,0x98,0xf4,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atc_probe 0x0, s[4:5], 0x0
// GFX89: s_atc_probe 0, s[4:5], 0x0 ; encoding: [0x02,0x00,0x9a,0xc0,0x00,0x00,0x00,0x00]
// GFX10: s_atc_probe 0, s[4:5], 0x0 ; encoding: [0x02,0x00,0x98,0xf4,0x00,0x00,0x00,0xfa]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atc_probe_buffer 0x1, s[8:11], s0
// GFX89: s_atc_probe_buffer 1, s[8:11], s0 ; encoding: [0x44,0x00,0x9c,0xc0,0x00,0x00,0x00,0x00]
// GFX10: s_atc_probe_buffer 1, s[8:11], s0 ; encoding: [0x44,0x00,0x9c,0xf4,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atc_probe_buffer 0x0, s[8:11], s101
// GFX89: s_atc_probe_buffer 0, s[8:11], s101 ; encoding: [0x04,0x00,0x9c,0xc0,0x65,0x00,0x00,0x00]
// GFX10: s_atc_probe_buffer 0, s[8:11], s101 ; encoding: [0x04,0x00,0x9c,0xf4,0x00,0x00,0x00,0xca]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_memrealtime s[4:5]
// GFX89: s_memrealtime s[4:5] ; encoding: [0x00,0x01,0x94,0xc0,0x00,0x00,0x00,0x00]
// GFX10: s_memrealtime s[4:5] ; encoding: [0x00,0x01,0x94,0xf4,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_memrealtime tba
// VI: s_memrealtime tba ; encoding: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: register not available on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_memrealtime tma
// VI: s_memrealtime tma ; encoding: [0x80,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: register not available on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_memrealtime ttmp[0:1]
// VI: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1c,0x94,0xc0,0x00,0x00,0x00,0x00]
// GFX9: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1b,0x94,0xc0,0x00,0x00,0x00,0x00]
// GFX10: s_memrealtime ttmp[0:1] ; encoding: [0x00,0x1b,0x94,0xf4,0x00,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword s1, s[2:3], 0xfc
// GFX89: s_store_dword s1, s[2:3], 0xfc ; encoding: [0x41,0x00,0x42,0xc0,0xfc,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], 0xfc ; encoding: [0x41,0x00,0x40,0xf4,0xfc,0x00,0x00,0xfa]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword s1, s[2:3], 0xfc glc
// GFX89: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x43,0xc0,0xfc,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x41,0xf4,0xfc,0x00,0x00,0xfa]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword s1, s[2:3], s4
// GFX89: s_store_dword s1, s[2:3], s4 ; encoding: [0x41,0x00,0x40,0xc0,0x04,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], s4 ; encoding: [0x41,0x00,0x40,0xf4,0x00,0x00,0x00,0x08]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword s1, s[2:3], s4 glc
// GFX89: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xc0,0x04,0x00,0x00,0x00]
// GFX1012: s_store_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x41,0xf4,0x00,0x00,0x00,0x08]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword tba_lo, s[2:3], s4
// VI: s_store_dword tba_lo, s[2:3], s4 ; encoding: [0x01,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword tba_hi, s[2:3], s4
// VI: s_store_dword tba_hi, s[2:3], s4 ; encoding: [0x41,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword tma_lo, s[2:3], s4
// VI: s_store_dword tma_lo, s[2:3], s4 ; encoding: [0x81,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_store_dword tma_hi, s[2:3], s4
// VI: s_store_dword tma_hi, s[2:3], s4 ; encoding: [0xc1,0x1b,0x40,0xc0,0x04,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_load_dword s1, s[2:3], 0xfc glc
// GFX89: s_load_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x03,0xc0,0xfc,0x00,0x00,0x00]
// GFX10: s_load_dword s1, s[2:3], 0xfc glc ; encoding: [0x41,0x00,0x01,0xf4,0xfc,0x00,0x00,0xfa]
// NOSICI: error: cache policy is not supported for SMRD instructions
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions
s_load_dword s1, s[2:3], s4 glc
// GFX89: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xc0,0x04,0x00,0x00,0x00]
// GFX10: s_load_dword s1, s[2:3], s4 glc ; encoding: [0x41,0x00,0x01,0xf4,0x00,0x00,0x00,0x08]
// NOSICI: error: cache policy is not supported for SMRD instructions
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions
s_buffer_store_dword s10, s[92:95], m0
// GFX89: s_buffer_store_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_buffer_store_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x60,0xf4,0x00,0x00,0x00,0xf8]
s_buffer_store_dword tba_lo, s[92:95], m0
// VI: s_buffer_store_dword tba_lo, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_store_dword tba_hi, s[92:95], m0
// VI: s_buffer_store_dword tba_hi, s[92:95], m0 ; encoding: [0x6e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_store_dword tma_lo, s[92:95], m0
// VI: s_buffer_store_dword tma_lo, s[92:95], m0 ; encoding: [0xae,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_store_dword tma_hi, s[92:95], m0
// VI: s_buffer_store_dword tma_hi, s[92:95], m0 ; encoding: [0xee,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_store_dword ttmp0, s[92:95], m0
// VI: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1c,0x60,0xc0,0x7c,0x00,0x00,0x00]
// GFX9: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xc0,0x7c,0x00,0x00,0x00]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_buffer_store_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1b,0x60,0xf4,0x00,0x00,0x00,0xf8]
s_buffer_store_dwordx2 s[10:11], s[92:95], m0
// GFX89: s_buffer_store_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x64,0xc0,0x7c,0x00,0x00,0x00]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_buffer_store_dwordx2 s[10:11], s[92:95], m0 ; encoding: [0xae,0x02,0x64,0xf4,0x00,0x00,0x00,0xf8]
s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc
// GFX89: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xc0,0x7c,0x00,0x00,0x00]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_buffer_store_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x69,0xf4,0x00,0x00,0x00,0xf8]
s_buffer_store_dwordx2 tba, s[92:95], m0 glc
// VI: s_buffer_store_dwordx2 tba, s[92:95], m0 glc ; encoding: [0x2e,0x1b,0x65,0xc0,0x7c,0x00,0x00,0x00]
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: register not available on this GPU
// NOGFX1030: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// NOGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_load_dword s10, s[92:95], m0
// GFX89: s_buffer_load_dword s10, s[92:95], m0 ; encoding: [0xae,0x02,0x20,0xc0,0x7c,0x00,0x00,0x00]
@ -176,22 +176,22 @@ s_buffer_load_dword s10, s[92:95], m0
s_buffer_load_dword tba_lo, s[92:95], m0
// VI: s_buffer_load_dword tba_lo, s[92:95], m0 ; encoding: [0x2e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dword tba_lo, s[92:95], m0 ; encoding: [0x7c,0x5c,0x36,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dword tba_hi, s[92:95], m0
// VI: s_buffer_load_dword tba_hi, s[92:95], m0 ; encoding: [0x6e,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dword tba_hi, s[92:95], m0 ; encoding: [0x7c,0xdc,0x36,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dword tma_lo, s[92:95], m0
// VI: s_buffer_load_dword tma_lo, s[92:95], m0 ; encoding: [0xae,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dword tma_lo, s[92:95], m0 ; encoding: [0x7c,0x5c,0x37,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dword tma_hi, s[92:95], m0
// VI: s_buffer_load_dword tma_hi, s[92:95], m0 ; encoding: [0xee,0x1b,0x20,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dword tma_hi, s[92:95], m0 ; encoding: [0x7c,0xdc,0x37,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dword ttmp0, s[92:95], m0
// VI: s_buffer_load_dword ttmp0, s[92:95], m0 ; encoding: [0x2e,0x1c,0x20,0xc0,0x7c,0x00,0x00,0x00]
@ -207,12 +207,12 @@ s_buffer_load_dwordx2 s[10:11], s[92:95], m0
s_buffer_load_dwordx2 tba, s[92:95], m0
// VI: s_buffer_load_dwordx2 tba, s[92:95], m0 ; encoding: [0x2e,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dwordx2 tba, s[92:95], m0 ; encoding: [0x7c,0x5c,0x76,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dwordx2 tma, s[92:95], m0
// VI: s_buffer_load_dwordx2 tma, s[92:95], m0 ; encoding: [0xae,0x1b,0x24,0xc0,0x7c,0x00,0x00,0x00]
// SICI: s_buffer_load_dwordx2 tma, s[92:95], m0 ; encoding: [0x7c,0x5c,0x77,0xc2]
// NOGFX9GFX10: error: register not available on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0
// VI: s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0 ; encoding: [0x2e,0x1c,0x24,0xc0,0x7c,0x00,0x00,0x00]
@ -223,7 +223,7 @@ s_buffer_load_dwordx2 ttmp[0:1], s[92:95], m0
s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc
// GFX89: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xc0,0x7c,0x00,0x00,0x00]
// GFX10: s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc ; encoding: [0x2e,0x02,0x29,0xf4,0x00,0x00,0x00,0xf8]
// NOSICI: error: cache policy is not supported for SMRD instructions
// NOSICI: :[[@LINE-3]]:{{[0-9]+}}: error: cache policy is not supported for SMRD instructions
//===----------------------------------------------------------------------===//
// s_scratch instructions
@ -232,47 +232,47 @@ s_buffer_load_dwordx4 s[8:11], s[92:95], m0 glc
s_scratch_load_dword s5, s[2:3], s101
// GFX9: s_scratch_load_dword s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xc0,0x65,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dword s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xf4,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_load_dword s5, s[2:3], s0 glc
// GFX9: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dword s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x15,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_load_dwordx2 s[100:101], s[2:3], s0
// GFX9: s_scratch_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x18,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dwordx2 s[100:101], s[2:3], s0 ; encoding: [0x01,0x19,0x18,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc
// GFX9: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x1b,0xc0,0x01,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dwordx2 s[10:11], s[2:3], 0x1 glc ; encoding: [0x81,0x02,0x19,0xf4,0x01,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_load_dwordx4 s[20:23], s[4:5], s0
// GFX9: s_scratch_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x1c,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_load_dwordx4 s[20:23], s[4:5], s0 ; encoding: [0x02,0x05,0x1c,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_store_dword s101, s[4:5], s0
// GFX9: s_scratch_store_dword s101, s[4:5], s0 ; encoding: [0x42,0x19,0x54,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_store_dword s101, s[4:5], s0 ; encoding: [0x42,0x19,0x54,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_store_dword s1, s[4:5], 0x123 glc
// GFX9: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x57,0xc0,0x23,0x01,0x00,0x00]
// GFX1012: s_scratch_store_dword s1, s[4:5], 0x123 glc ; encoding: [0x42,0x00,0x55,0xf4,0x23,0x01,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc
// GFX9: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xc0,0x65,0x00,0x00,0x00]
// GFX1012: s_scratch_store_dwordx2 s[2:3], s[4:5], s101 glc ; encoding: [0x82,0x00,0x59,0xf4,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc
// GFX9: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc ; encoding: [0x02,0x01,0x5d,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// s_dcache_discard instructions
@ -281,22 +281,22 @@ s_scratch_store_dwordx4 s[4:7], s[4:5], s0 glc
s_dcache_discard s[2:3], s0
// GFX9: s_dcache_discard s[2:3], s0 ; encoding: [0x01,0x00,0xa0,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_dcache_discard s[2:3], s0 ; encoding: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_dcache_discard s[2:3], 0x0
// GFX9: s_dcache_discard s[2:3], 0x0 ; encoding: [0x01,0x00,0xa2,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_dcache_discard s[2:3], 0x0 ; encoding: [0x01,0x00,0xa0,0xf4,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_dcache_discard_x2 s[2:3], s101
// GFX9: s_dcache_discard_x2 s[2:3], s101 ; encoding: [0x01,0x00,0xa4,0xc0,0x65,0x00,0x00,0x00]
// GFX1012: s_dcache_discard_x2 s[2:3], s101 ; encoding: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_dcache_discard_x2 s[2:3], 0x0
// GFX9: s_dcache_discard_x2 s[2:3], 0x0 ; encoding: [0x01,0x00,0xa6,0xc0,0x00,0x00,0x00,0x00]
// GFX1012: s_dcache_discard_x2 s[2:3], 0x0 ; encoding: [0x01,0x00,0xa4,0xf4,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// s_atomic instructions
@ -305,162 +305,162 @@ s_dcache_discard_x2 s[2:3], 0x0
s_atomic_add s5, s[2:3], s101
// GFX9: s_atomic_add s5, s[2:3], s101 ; encoding: [0x41,0x01,0x08,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_add s5, s[2:3], s101 ; encoding: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_add s5, s[2:3], 0x0
// GFX9: s_atomic_add s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x0a,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_add s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x08,0xf6,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_add s5, s[2:3], s0 glc
// GFX9: s_atomic_add s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x09,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_add s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x09,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_add_x2 s[10:11], s[2:3], s101
// GFX9: s_atomic_add_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x88,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_add_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x88,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_and s5, s[2:3], s101
// GFX9: s_atomic_and s5, s[2:3], s101 ; encoding: [0x41,0x01,0x20,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_and s5, s[2:3], s101 ; encoding: [0x41,0x01,0x20,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_and_x2 s[10:11], s[2:3], 0x0
// GFX9: s_atomic_and_x2 s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0xa2,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_and_x2 s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0xa0,0xf6,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap s[10:11], s[2:3], s101
// GFX9: s_atomic_cmpswap s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap s[10:11], s[2:3], 0x0
// GFX9: s_atomic_cmpswap s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x06,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], 0x0 ; encoding: [0x81,0x02,0x04,0xf6,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_cmpswap s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x05,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap_x2 s[20:23], s[2:3], s101
// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x84,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], s101 ; encoding: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0
// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x86,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], 0x0 ; encoding: [0x01,0x05,0x84,0xf6,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc
// GFX9: s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x85,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_cmpswap_x2 s[20:23], s[2:3], s0 glc ; encoding: [0x01,0x05,0x85,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_dec s5, s[2:3], s0 glc
// GFX9: s_atomic_dec s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x31,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_dec s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x31,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_dec_x2 s[10:11], s[2:3], s101
// GFX9: s_atomic_dec_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xb0,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_dec_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xb0,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_inc s5, s[2:3], s0 glc
// GFX9: s_atomic_inc s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x2d,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_inc s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x2d,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_inc_x2 s[10:11], s[2:3], s101
// GFX9: s_atomic_inc_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xac,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_inc_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0xac,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_or s5, s[2:3], 0x0
// GFX9: s_atomic_or s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x26,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_or s5, s[2:3], 0x0 ; encoding: [0x41,0x01,0x24,0xf6,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_or_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_or_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa5,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_or_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa5,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_smax s5, s[2:3], s101
// GFX9: s_atomic_smax s5, s[2:3], s101 ; encoding: [0x41,0x01,0x18,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_smax s5, s[2:3], s101 ; encoding: [0x41,0x01,0x18,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_smax_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_smax_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x99,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_smax_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x99,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_smin s5, s[2:3], s101
// GFX9: s_atomic_smin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x10,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_smin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x10,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_smin_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_smin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x91,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_smin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x91,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_sub s5, s[2:3], s101
// GFX9: s_atomic_sub s5, s[2:3], s101 ; encoding: [0x41,0x01,0x0c,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_sub s5, s[2:3], s101 ; encoding: [0x41,0x01,0x0c,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_sub_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_sub_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x8d,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_sub_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x8d,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_swap s5, s[2:3], s101
// GFX9: s_atomic_swap s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_swap s5, s[2:3], s101 ; encoding: [0x41,0x01,0x00,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_swap_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_swap_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x81,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_swap_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x81,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_umax s5, s[2:3], s0 glc
// GFX9: s_atomic_umax s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x1d,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_umax s5, s[2:3], s0 glc ; encoding: [0x41,0x01,0x1d,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_umax_x2 s[10:11], s[2:3], s101
// GFX9: s_atomic_umax_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x9c,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_umax_x2 s[10:11], s[2:3], s101 ; encoding: [0x81,0x02,0x9c,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_umin s5, s[2:3], s101
// GFX9: s_atomic_umin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_umin s5, s[2:3], s101 ; encoding: [0x41,0x01,0x14,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_umin_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_umin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x95,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_umin_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0x95,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_xor s5, s[2:3], s101
// GFX9: s_atomic_xor s5, s[2:3], s101 ; encoding: [0x41,0x01,0x28,0xc2,0x65,0x00,0x00,0x00]
// GFX1012: s_atomic_xor s5, s[2:3], s101 ; encoding: [0x41,0x01,0x28,0xf6,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atomic_xor_x2 s[10:11], s[2:3], s0 glc
// GFX9: s_atomic_xor_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa9,0xc2,0x00,0x00,0x00,0x00]
// GFX1012: s_atomic_xor_x2 s[10:11], s[2:3], s0 glc ; encoding: [0x81,0x02,0xa9,0xf6,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// s_buffer_atomic instructions
@ -469,323 +469,323 @@ s_atomic_xor_x2 s[10:11], s[2:3], s0 glc
s_buffer_atomic_add s5, s[4:7], s101
// GFX9: s_buffer_atomic_add s5, s[4:7], s101 ; encoding: [0x42,0x01,0x08,0xc1,0x65,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_add s5, s[4:7], s101 ; encoding: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_add s5, s[4:7], 0x0
// GFX9: s_buffer_atomic_add s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x0a,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_add s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x08,0xf5,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_add s5, s[4:7], s0 glc
// GFX9: s_buffer_atomic_add s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x09,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_add s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x09,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_add_x2 s[10:11], s[4:7], s0
// GFX9: s_buffer_atomic_add_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x88,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_add_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x88,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_and s101, s[4:7], s0
// GFX9: s_buffer_atomic_and s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_and s101, s[4:7], s0 ; encoding: [0x42,0x19,0x20,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_and_x2 s[10:11], s[8:11], s0
// GFX9: s_buffer_atomic_and_x2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0xa0,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_and_x2 s[10:11], s[8:11], s0 ; encoding: [0x84,0x02,0xa0,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap s[10:11], s[4:7], s0
// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x04,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0
// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x06,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0x04,0xf5,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x05,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x05,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101
// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x84,0xc1,0x65,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s101 ; encoding: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0
// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x86,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], 0x0 ; encoding: [0x02,0x05,0x84,0xf5,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc
// GFX9: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x85,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_cmpswap_x2 s[20:23], s[4:7], s0 glc ; encoding: [0x02,0x05,0x85,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_dec s5, s[4:7], s0
// GFX9: s_buffer_atomic_dec s5, s[4:7], s0 ; encoding: [0x42,0x01,0x30,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_dec s5, s[4:7], s0 ; encoding: [0x42,0x01,0x30,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xb1,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_dec_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xb1,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_inc s101, s[4:7], s0
// GFX9: s_buffer_atomic_inc s101, s[4:7], s0 ; encoding: [0x42,0x19,0x2c,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_inc s101, s[4:7], s0 ; encoding: [0x42,0x19,0x2c,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0
// GFX9: s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0xae,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_inc_x2 s[10:11], s[4:7], 0x0 ; encoding: [0x82,0x02,0xac,0xf5,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_or s5, s[8:11], s0
// GFX9: s_buffer_atomic_or s5, s[8:11], s0 ; encoding: [0x44,0x01,0x24,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_or s5, s[8:11], s0 ; encoding: [0x44,0x01,0x24,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_or_x2 s[10:11], s[96:99], s0
// GFX9: s_buffer_atomic_or_x2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0xa4,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_or_x2 s[10:11], s[96:99], s0 ; encoding: [0xb0,0x02,0xa4,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_smax s5, s[4:7], s101
// GFX9: s_buffer_atomic_smax s5, s[4:7], s101 ; encoding: [0x42,0x01,0x18,0xc1,0x65,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_smax s5, s[4:7], s101 ; encoding: [0x42,0x01,0x18,0xf5,0x00,0x00,0x00,0xca]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0
// GFX9: s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x98,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_smax_x2 s[100:101], s[4:7], s0 ; encoding: [0x02,0x19,0x98,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_smin s5, s[4:7], 0x0
// GFX9: s_buffer_atomic_smin s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x12,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_smin s5, s[4:7], 0x0 ; encoding: [0x42,0x01,0x10,0xf5,0x00,0x00,0x00,0xfa]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0
// GFX9: s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x90,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_smin_x2 s[12:13], s[4:7], s0 ; encoding: [0x02,0x03,0x90,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_sub s5, s[4:7], s0 glc
// GFX9: s_buffer_atomic_sub s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x0d,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_sub s5, s[4:7], s0 glc ; encoding: [0x42,0x01,0x0d,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0
// GFX9: s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x8c,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_sub_x2 s[10:11], s[4:7], s0 ; encoding: [0x82,0x02,0x8c,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_swap s5, s[4:7], s0
// GFX9: s_buffer_atomic_swap s5, s[4:7], s0 ; encoding: [0x42,0x01,0x00,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_swap s5, s[4:7], s0 ; encoding: [0x42,0x01,0x00,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x81,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_swap_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x81,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_umax s5, s[4:7], s0
// GFX9: s_buffer_atomic_umax s5, s[4:7], s0 ; encoding: [0x42,0x01,0x1c,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_umax s5, s[4:7], s0 ; encoding: [0x42,0x01,0x1c,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x9d,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_umax_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x9d,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_umin s5, s[4:7], s0
// GFX9: s_buffer_atomic_umin s5, s[4:7], s0 ; encoding: [0x42,0x01,0x14,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_umin s5, s[4:7], s0 ; encoding: [0x42,0x01,0x14,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x95,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_umin_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0x95,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_xor s5, s[4:7], s0
// GFX9: s_buffer_atomic_xor s5, s[4:7], s0 ; encoding: [0x42,0x01,0x28,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_xor s5, s[4:7], s0 ; encoding: [0x42,0x01,0x28,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc
// GFX9: s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xa9,0xc1,0x00,0x00,0x00,0x00]
// GFX1012: s_buffer_atomic_xor_x2 s[10:11], s[4:7], s0 glc ; encoding: [0x82,0x02,0xa9,0xf5,0x00,0x00,0x00,0x00]
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// Unsigned 20-bit offsets (VI+)
//===----------------------------------------------------------------------===//
s_atc_probe 0x7, s[4:5], 0xFFFFF
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: s_atc_probe 7, s[4:5], 0xfffff ; encoding: [0xc2,0x01,0x9a,0xc0,0xff,0xff,0x0f,0x00]
// GFX10: s_atc_probe 7, s[4:5], 0xfffff ; encoding: [0xc2,0x01,0x98,0xf4,0xff,0xff,0x0f,0xfa]
s_atc_probe_buffer 0x1, s[8:11], 0xFFFFF
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: s_atc_probe_buffer 1, s[8:11], 0xfffff ; encoding: [0x44,0x00,0x9e,0xc0,0xff,0xff,0x0f,0x00]
// GFX10: s_atc_probe_buffer 1, s[8:11], 0xfffff ; encoding: [0x44,0x00,0x9c,0xf4,0xff,0xff,0x0f,0xfa]
s_store_dword s1, s[2:3], 0xFFFFF
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: s_store_dword s1, s[2:3], 0xfffff ; encoding: [0x41,0x00,0x42,0xc0,0xff,0xff,0x0f,0x00]
// GFX1012: s_store_dword s1, s[2:3], 0xfffff ; encoding: [0x41,0x00,0x40,0xf4,0xff,0xff,0x0f,0xfa]
s_buffer_store_dword s10, s[92:95], 0xFFFFF
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX89: s_buffer_store_dword s10, s[92:95], 0xfffff ; encoding: [0xae,0x02,0x62,0xc0,0xff,0xff,0x0f,0x00]
// GFX1012: s_buffer_store_dword s10, s[92:95], 0xfffff ; encoding: [0xae,0x02,0x60,0xf4,0xff,0xff,0x0f,0xfa]
s_atomic_swap s5, s[2:3], 0xFFFFF
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_atomic_swap s5, s[2:3], 0xfffff ; encoding: [0x41,0x01,0x00,0xf6,0xff,0xff,0x0f,0xfa]
// GFX9: s_atomic_swap s5, s[2:3], 0xfffff ; encoding: [0x41,0x01,0x02,0xc2,0xff,0xff,0x0f,0x00]
s_buffer_atomic_swap s5, s[4:7], 0xFFFFF
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_buffer_atomic_swap s5, s[4:7], 0xfffff ; encoding: [0x42,0x01,0x00,0xf5,0xff,0xff,0x0f,0xfa]
// GFX9: s_buffer_atomic_swap s5, s[4:7], 0xfffff ; encoding: [0x42,0x01,0x02,0xc1,0xff,0xff,0x0f,0x00]
s_atc_probe 0x7, s[4:5], 0x1FFFFF
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: expected a 21-bit signed offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atc_probe_buffer 0x1, s[8:11], 0x1FFFFF
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: expected a 20-bit unsigned offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_load_dword s1, s[2:3], s0 offset:0x1FFFFF
// NOSICI: error: not a valid operand.
// NOVI: error: not a valid operand.
// NOGFX9: error: expected a 21-bit signed offset
// NOGFX10: error: expected a 21-bit signed offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 21-bit signed offset
// NOGFX10: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 21-bit signed offset
s_store_dword s1, s[2:3], 0x1FFFFF
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 21-bit signed offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_buffer_load_dword s10, s[92:95], s0 offset:-1
// NOSICI: error: not a valid operand.
// NOVI: error: not a valid operand.
// NOGFX9: error: expected a 20-bit unsigned offset
// NOGFX10: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand.
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: not a valid operand.
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOGFX10: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_buffer_store_dword s10, s[92:95], 0x1FFFFF
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atomic_swap s5, s[2:3], 0x1FFFFF
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 21-bit signed offset
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 21-bit signed offset
s_buffer_atomic_swap s5, s[4:7], 0x1FFFFF
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
//===----------------------------------------------------------------------===//
// Signed offsets (gfx9+)
//===----------------------------------------------------------------------===//
s_atc_probe 0x7, s[4:5], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// GFX9: s_atc_probe 7, s[4:5], -0x1 ; encoding: [0xc2,0x01,0x9a,0xc0,0xff,0xff,0x1f,0x00]
// GFX10: s_atc_probe 7, s[4:5], -0x1 ; encoding: [0xc2,0x01,0x98,0xf4,0xff,0xff,0x1f,0xfa]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_atc_probe_buffer 0x1, s[8:11], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_store_dword s1, s[2:3], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// GFX9: s_store_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x42,0xc0,0xff,0xff,0x1f,0x00]
// GFX1012: s_store_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x40,0xf4,0xff,0xff,0x1f,0xfa]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_store_dword s10, s[92:95], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_load_dword s1, s[2:3], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// GFX9: s_load_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x02,0xc0,0xff,0xff,0x1f,0x00]
// GFX10: s_load_dword s1, s[2:3], -0x1 ; encoding: [0x41,0x00,0x00,0xf4,0xff,0xff,0x1f,0xfa]
// NOSICI: error: operands are not valid for this GPU or mode
// NOSICI: :[[@LINE-4]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
s_buffer_load_dword s10, s[92:95], -1
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: error: operands are not valid for this GPU or mode
// NOGFX9GFX10: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// NOGFX9GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atomic_swap s5, s[2:3], -1
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: s_atomic_swap s5, s[2:3], -0x1 ; encoding: [0x41,0x01,0x02,0xc2,0xff,0xff,0x1f,0x00]
// GFX1012: s_atomic_swap s5, s[2:3], -0x1 ; encoding: [0x41,0x01,0x00,0xf6,0xff,0xff,0x1f,0xfa]
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_buffer_atomic_swap s5, s[4:7], -1
// NOVI: error: instruction not supported on this GPU
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atc_probe 0x7, s[4:5], 0xFFFFFFFFFFF00000
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_atc_probe 7, s[4:5], -0x100000 ; encoding: [0xc2,0x01,0x98,0xf4,0x00,0x00,0x10,0xfa]
// GFX9: s_atc_probe 7, s[4:5], -0x100000 ; encoding: [0xc2,0x01,0x9a,0xc0,0x00,0x00,0x10,0x00]
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atc_probe_buffer 0x1, s[8:11], 0xFFFFFFFFFFF00000
// NOSICI: error: instruction not supported on this GPU
// NOGFX9GFX10: error: expected a 20-bit unsigned offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_store_dword s1, s[2:3], 0xFFFFFFFFFFF00000
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_store_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x40,0xf4,0x00,0x00,0x10,0xfa]
// GFX9: s_store_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x42,0xc0,0x00,0x00,0x10,0x00]
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_buffer_store_dword s10, s[92:95], 0xFFFFFFFFFFF00000
// NOSICIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_load_dword s1, s[2:3], 0xFFFFFFFFFFF00000
// NOSICI: error: operands are not valid for this GPU or mode
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// GFX10: s_load_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x00,0xf4,0x00,0x00,0x10,0xfa]
// GFX9: s_load_dword s1, s[2:3], -0x100000 ; encoding: [0x41,0x00,0x02,0xc0,0x00,0x00,0x10,0x00]
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-4]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_buffer_load_dword s10, s[92:95], 0xFFFFFFFFFFF00000
// NOSICI: error: operands are not valid for this GPU or mode
// NOGFX9GFX10: error: expected a 20-bit unsigned offset
// NOVI: error: expected a 20-bit unsigned offset
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// NOGFX9GFX10: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_atomic_swap s5, s[2:3], 0xFFFFFFFFFFF00000
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX1012: s_atomic_swap s5, s[2:3], -0x100000 ; encoding: [0x41,0x01,0x00,0xf6,0x00,0x00,0x10,0xfa]
// GFX9: s_atomic_swap s5, s[2:3], -0x100000 ; encoding: [0x41,0x01,0x02,0xc2,0x00,0x00,0x10,0x00]
s_buffer_atomic_swap s5, s[4:7], 0xFFFFFFFFFFF00000
// NOSICIVIGFX1030: error: instruction not supported on this GPU
// NOGFX9GFX1012: error: expected a 20-bit unsigned offset
// NOSICIVIGFX1030: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9GFX1012: :[[@LINE-2]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset

View File

@ -2,13 +2,13 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=NOVI --implicit-check-not=error: %s
s_load_dwordx4 s[100:103], s[2:3], s4
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// SI: s_load_dwordx4 s[100:103], s[2:3], s4
s_load_dwordx8 s[96:103], s[2:3], s4
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// SI: s_load_dwordx8 s[96:103], s[2:3], s4
s_load_dwordx16 s[88:103], s[2:3], s4
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// SI: s_load_dwordx16 s[88:103], s[2:3], s4

View File

@ -20,24 +20,24 @@ s_load_dword s1, s[2:3], 0xff
// VI: s_load_dword s1, s[2:3], 0xff ; encoding: [0x41,0x00,0x02,0xc0,0xff,0x00,0x00,0x00]
s_load_dword s1, s[2:3], 0x100
// NOSI: error: operands are not valid for this GPU or mode
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// CI: s_load_dword s1, s[2:3], 0x100 ; encoding: [0xff,0x82,0x00,0xc0,0x00,0x01,0x00,0x00]
// VI: s_load_dword s1, s[2:3], 0x100 ; encoding: [0x41,0x00,0x02,0xc0,0x00,0x01,0x00,0x00]
s_load_dword s1, s[2:3], 0xfffff
// NOSI: error: operands are not valid for this GPU or mode
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// CI: s_load_dword s1, s[2:3], 0xfffff ; encoding: [0xff,0x82,0x00,0xc0,0xff,0xff,0x0f,0x00]
// VI: s_load_dword s1, s[2:3], 0xfffff ; encoding: [0x41,0x00,0x02,0xc0,0xff,0xff,0x0f,0x00]
s_load_dword s1, s[2:3], 0x100000
// NOSI: error: operands are not valid for this GPU or mode
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// CI: s_load_dword s1, s[2:3], 0x100000 ; encoding: [0xff,0x82,0x00,0xc0,0x00,0x00,0x10,0x00]
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
s_load_dword s1, s[2:3], 0xffffffff
// NOSI: error: operands are not valid for this GPU or mode
// NOSI: :[[@LINE-1]]:{{[0-9]+}}: error: operands are not valid for this GPU or mode
// CI: s_load_dword s1, s[2:3], 0xffffffff ; encoding: [0xff,0x82,0x00,0xc0,0xff,0xff,0xff,0xff]
// NOVI: error: expected a 20-bit unsigned offset
// NOVI: :[[@LINE-3]]:{{[0-9]+}}: error: expected a 20-bit unsigned offset
//===----------------------------------------------------------------------===//
// Instructions
@ -105,7 +105,7 @@ s_load_dwordx4 ttmp[4:7], ttmp[2:3], ttmp4
s_load_dwordx4 s[100:103], s[2:3], s4
// GCN: s_load_dwordx4 s[100:103], s[2:3], s4 ; encoding: [0x04,0x02,0xb2,0xc0]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_load_dwordx8 s[8:15], s[2:3], 1
// GCN: s_load_dwordx8 s[8:15], s[2:3], 0x1 ; encoding: [0x01,0x03,0xc4,0xc0]
@ -117,7 +117,7 @@ s_load_dwordx8 s[8:15], s[2:3], s4
s_load_dwordx8 s[96:103], s[2:3], s4
// GCN: s_load_dwordx8 s[96:103], s[2:3], s4 ; encoding: [0x04,0x02,0xf0,0xc0]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_load_dwordx16 s[16:31], s[2:3], 1
// GCN: s_load_dwordx16 s[16:31], s[2:3], 0x1 ; encoding: [0x01,0x03,0x08,0xc1]
@ -129,7 +129,7 @@ s_load_dwordx16 s[16:31], s[2:3], s4
s_load_dwordx16 s[88:103], s[2:3], s4
// GCN: s_load_dwordx16 s[88:103], s[2:3], s4 ; encoding: [0x04,0x02,0x2c,0xc1]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dword s1, s[4:7], 1
// GCN: s_buffer_load_dword s1, s[4:7], 0x1 ; encoding: [0x01,0x85,0x00,0xc2]
@ -189,7 +189,7 @@ s_buffer_load_dwordx4 ttmp[8:11], ttmp[4:7], ttmp4
s_buffer_load_dwordx4 s[100:103], s[4:7], s4
// GCN: s_buffer_load_dwordx4 s[100:103], s[4:7], s4 ; encoding: [0x04,0x04,0xb2,0xc2]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dwordx8 s[8:15], s[4:7], 1
// GCN: s_buffer_load_dwordx8 s[8:15], s[4:7], 0x1 ; encoding: [0x01,0x05,0xc4,0xc2]
@ -201,7 +201,7 @@ s_buffer_load_dwordx8 s[8:15], s[4:7], s4
s_buffer_load_dwordx8 s[96:103], s[4:7], s4
// GCN: s_buffer_load_dwordx8 s[96:103], s[4:7], s4 ; encoding: [0x04,0x04,0xf0,0xc2]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_buffer_load_dwordx16 s[16:31], s[4:7], 1
// GCN: s_buffer_load_dwordx16 s[16:31], s[4:7], 0x1 ; encoding: [0x01,0x05,0x08,0xc3]
@ -213,7 +213,7 @@ s_buffer_load_dwordx16 s[16:31], s[4:7], s4
s_buffer_load_dwordx16 s[88:103], s[4:7], s4
// GCN: s_buffer_load_dwordx16 s[88:103], s[4:7], s4 ; encoding: [0x04,0x04,0x2c,0xc3]
// NOVI: error: register not available on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
s_dcache_inv
// GCN: s_dcache_inv ; encoding: [0x00,0x00,0xc0,0xc7]
@ -221,7 +221,7 @@ s_dcache_inv
s_dcache_inv_vol
// CI: s_dcache_inv_vol ; encoding: [0x00,0x00,0x40,0xc7]
// NOSI: error: instruction not supported on this GPU
// NOSI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// VI: s_dcache_inv_vol ; encoding: [0x00,0x00,0x88,0xc0,0x00,0x00,0x00,0x00]
s_memtime s[4:5]

View File

@ -3,42 +3,42 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck --check-prefixes=GCN,VI --implicit-check-not=error: %s
s_mov_b32 v1, s2
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s1, v0
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b32 s[1:2], s0
// GCN: error: invalid register alignment
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b32 s0, s[1:2]
// GCN: error: invalid register alignment
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid register alignment
s_mov_b32 s220, s0
// GCN: error: register index is out of range
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b32 s0, s220
// GCN: error: register index is out of range
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: register index is out of range
s_mov_b64 s1, s[0:1]
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mov_b64 s[0:1], s1
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// FIXME: This shoudl probably say failed to parse.
s_mov_b32 s
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// Out of range register
s_mov_b32 s102, 1
// VI: error: register not available on this GPU
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b32 s103, 1
// VI: error: register not available on this GPU
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 s[102:103], -1
// VI: error: register not available on this GPU
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
s_setpc_b64 0
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -42,8 +42,8 @@ s_mov_b64 s[2:3], s[4:5]
s_mov_b64 null, s[4:5]
// GFX10: s_mov_b64 null, s[4:5] ; encoding: [0x04,0x04,0xfd,0xbe]
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOGFX9: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
s_mov_b64 s[2:3], 0xffffffffffffffff
// SICI: s_mov_b64 s[2:3], -1 ; encoding: [0xc1,0x04,0x82,0xbe]
@ -62,7 +62,7 @@ s_mov_b64 s[0:1], 0x80000000
s_mov_b64 s[102:103], -1
// SICI: s_mov_b64 s[102:103], -1 ; encoding: [0xc1,0x04,0xe6,0xbe]
// NOGFX89: error: register not available on this GPU
// NOGFX89: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10: s_mov_b64 s[102:103], -1 ; encoding: [0xc1,0x04,0xe6,0xbe]
s_cmov_b32 s1, 200
@ -301,17 +301,17 @@ s_movreld_b64 s[2:3], s[4:5]
s_cbranch_join s4
// SICI: s_cbranch_join s4 ; encoding: [0x04,0x32,0x80,0xbe]
// GFX89: s_cbranch_join s4 ; encoding: [0x04,0x2e,0x80,0xbe]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cbranch_join 1
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cbranch_join 100
// NOSICI: error: invalid operand for instruction
// NOGFX89: error: invalid operand for instruction
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// NOGFX89: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_abs_i32 s1, s2
// SICI: s_abs_i32 s1, s2 ; encoding: [0x02,0x34,0x81,0xbe]
@ -320,55 +320,55 @@ s_abs_i32 s1, s2
s_set_gpr_idx_idx s0
// GFX89: s_set_gpr_idx_idx s0 ; encoding: [0x00,0x32,0x80,0xbe]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_andn1_saveexec_b64 s[100:101], s[2:3]
// GFX9: s_andn1_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x33,0xe4,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn1_saveexec_b64 s[100:101], s[2:3] ; encoding: [0x02,0x37,0xe4,0xbe]
s_andn1_saveexec_b64 s[10:11], s[4:5]
// GFX9: s_andn1_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x33,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn1_saveexec_b64 s[10:11], s[4:5] ; encoding: [0x04,0x37,0x8a,0xbe]
s_andn1_saveexec_b64 s[10:11], -1
// GFX9: s_andn1_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x33,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn1_saveexec_b64 s[10:11], -1 ; encoding: [0xc1,0x37,0x8a,0xbe]
s_andn1_saveexec_b64 s[10:11], 0xaf123456
// GFX9: s_andn1_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x33,0x8a,0xbe,0x56,0x34,0x12,0xaf]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn1_saveexec_b64 s[10:11], 0xaf123456 ; encoding: [0xff,0x37,0x8a,0xbe,0x56,0x34,0x12,0xaf]
s_andn1_wrexec_b64 s[10:11], s[2:3]
// GFX9: s_andn1_wrexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x35,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn1_wrexec_b64 s[10:11], s[2:3] ; encoding: [0x02,0x39,0x8a,0xbe]
s_andn2_wrexec_b64 s[12:13], s[2:3]
// GFX9: s_andn2_wrexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x36,0x8c,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_andn2_wrexec_b64 s[12:13], s[2:3] ; encoding: [0x02,0x3a,0x8c,0xbe]
s_orn1_saveexec_b64 s[10:11], 0
// GFX9: s_orn1_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x34,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_orn1_saveexec_b64 s[10:11], 0 ; encoding: [0x80,0x38,0x8a,0xbe]
s_bitreplicate_b64_b32 s[10:11], s101
// GFX9: s_bitreplicate_b64_b32 s[10:11], s101 ; encoding: [0x65,0x37,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_bitreplicate_b64_b32 s[10:11], s101 ; encoding: [0x65,0x3b,0x8a,0xbe]
s_bitreplicate_b64_b32 s[10:11], -1
// GFX9: s_bitreplicate_b64_b32 s[10:11], -1 ; encoding: [0xc1,0x37,0x8a,0xbe]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_bitreplicate_b64_b32 s[10:11], -1 ; encoding: [0xc1,0x3b,0x8a,0xbe]
s_bitreplicate_b64_b32 s[10:11], 0x3f717273
// GFX9: s_bitreplicate_b64_b32 s[10:11], 0x3f717273 ; encoding: [0xff,0x37,0x8a,0xbe,0x73,0x72,0x71,0x3f]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_bitreplicate_b64_b32 s[10:11], 0x3f717273 ; encoding: [0xff,0x3b,0x8a,0xbe,0x73,0x72,0x71,0x3f]

View File

@ -1,13 +1,13 @@
// RUN: not llvm-mc -arch=amdgcn %s 2>&1 | FileCheck -check-prefix=GCN --implicit-check-not=error: %s
s_cbranch_g_fork 100, s[6:7]
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_cbranch_g_fork s[6:7], 100
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_and_b32 s2, 0x12345678, 0x12345679
// GCN: error: only one unique literal operand is allowed
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_and_b64 s[2:3], 0x12345678, 0x12345679
// GCN: error: only one unique literal operand is allowed
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed

View File

@ -65,8 +65,8 @@ s_and_b32 s2, 0xFFFF0000, -65536
s_and_b64 null, s[4:5], s[6:7]
// GFX10: s_and_b64 null, s[4:5], s[6:7] ; encoding: [0x04,0x06,0xfd,0x87]
// NOSICIVI: error: 'null' operand is not supported on this GPU
// NOGFX9: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
s_and_b64 s[2:3], s[4:5], s[6:7]
// SICI: s_and_b64 s[2:3], s[4:5], s[6:7] ; encoding: [0x04,0x06,0x82,0x87]
@ -216,17 +216,17 @@ s_bfe_i64 s[2:3], s[4:5], s6
s_cbranch_g_fork s[4:5], s[6:7]
// SICI: s_cbranch_g_fork s[4:5], s[6:7] ; encoding: [0x04,0x06,0x80,0x95]
// GFX89: s_cbranch_g_fork s[4:5], s[6:7] ; encoding: [0x04,0x06,0x80,0x94]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cbranch_g_fork 1, s[6:7]
// SICI: s_cbranch_g_fork 1, s[6:7] ; encoding: [0x81,0x06,0x80,0x95]
// GFX89: s_cbranch_g_fork 1, s[6:7] ; encoding: [0x81,0x06,0x80,0x94]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cbranch_g_fork s[6:7], 2
// SICI: s_cbranch_g_fork s[6:7], 2 ; encoding: [0x06,0x82,0x80,0x95]
// GFX89: s_cbranch_g_fork s[6:7], 2 ; encoding: [0x06,0x82,0x80,0x94]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_absdiff_i32 s2, s4, s6
// SICI: s_absdiff_i32 s2, s4, s6 ; encoding: [0x04,0x06,0x02,0x96]
@ -235,95 +235,95 @@ s_absdiff_i32 s2, s4, s6
s_add_u32 s101, s102, s103
// SICI: s_add_u32 s101, s102, s103 ; encoding: [0x66,0x67,0x65,0x80]
// NOGFX89: error: register not available on this GPU
// NOGFX89: :[[@LINE-2]]:{{[0-9]+}}: error: register not available on this GPU
// GFX10: s_add_u32 s101, s102, s103 ; encoding: [0x66,0x67,0x65,0x80]
s_lshl1_add_u32 s5, s1, s2
// GFX9: s_lshl1_add_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x97]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl1_add_u32 s5, s1, s2 ; encoding: [0x01,0x02,0x05,0x97]
s_lshl1_add_u32 s5, -1, s2
// GFX9: s_lshl1_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x97]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl1_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x05,0x97]
s_lshl1_add_u32 s5, s1, 0
// GFX9: s_lshl1_add_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x97]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl1_add_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x97]
s_lshl1_add_u32 s5, s1, 0x3f717273
// GFX9: s_lshl1_add_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x97,0x73,0x72,0x71,0x3f]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl1_add_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x97,0x73,0x72,0x71,0x3f]
s_lshl2_add_u32 s101, s1, s2
// GFX9: s_lshl2_add_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x97]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl2_add_u32 s101, s1, s2 ; encoding: [0x01,0x02,0xe5,0x97]
s_lshl2_add_u32 s5, 0xaf123456, s2
// GFX9: s_lshl2_add_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x97,0x56,0x34,0x12,0xaf]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl2_add_u32 s5, 0xaf123456, s2 ; encoding: [0xff,0x02,0x85,0x97,0x56,0x34,0x12,0xaf]
s_lshl3_add_u32 s5, 0x3f717273, s2
// GFX9: s_lshl3_add_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x98,0x73,0x72,0x71,0x3f]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl3_add_u32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x98,0x73,0x72,0x71,0x3f]
s_lshl3_add_u32 s5, s1, s101
// GFX9: s_lshl3_add_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x98]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl3_add_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x98]
s_lshl4_add_u32 s5, s1, 0xaf123456
// GFX9: s_lshl4_add_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x98,0x56,0x34,0x12,0xaf]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl4_add_u32 s5, s1, 0xaf123456 ; encoding: [0x01,0xff,0x85,0x98,0x56,0x34,0x12,0xaf]
s_lshl4_add_u32 s5, -1, s2
// GFX9: s_lshl4_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x98]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_lshl4_add_u32 s5, -1, s2 ; encoding: [0xc1,0x02,0x85,0x98]
s_mul_hi_i32 s5, s101, s2
// GFX9: s_mul_hi_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x85,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_i32 s5, s101, s2 ; encoding: [0x65,0x02,0x05,0x9b]
s_mul_hi_i32 s5, 0, s2
// GFX9: s_mul_hi_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x85,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_i32 s5, 0, s2 ; encoding: [0x80,0x02,0x05,0x9b]
s_mul_hi_i32 s5, 0x3f717273, s2
// GFX9: s_mul_hi_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x85,0x96,0x73,0x72,0x71,0x3f]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_i32 s5, 0x3f717273, s2 ; encoding: [0xff,0x02,0x05,0x9b,0x73,0x72,0x71,0x3f]
s_mul_hi_i32 s5, s1, s101
// GFX9: s_mul_hi_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_i32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x9b]
s_mul_hi_i32 s5, s1, 0
// GFX9: s_mul_hi_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_i32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x9b]
s_mul_hi_u32 s5, s1, 0x3f717273
// GFX9: s_mul_hi_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x05,0x96,0x73,0x72,0x71,0x3f]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_u32 s5, s1, 0x3f717273 ; encoding: [0x01,0xff,0x85,0x9a,0x73,0x72,0x71,0x3f]
s_mul_hi_u32 s5, s1, s101
// GFX9: s_mul_hi_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x05,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_u32 s5, s1, s101 ; encoding: [0x01,0x65,0x85,0x9a]
s_mul_hi_u32 s5, s1, 0
// GFX9: s_mul_hi_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x05,0x96]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_mul_hi_u32 s5, s1, 0 ; encoding: [0x01,0x80,0x85,0x9a]

View File

@ -1,34 +1,34 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=GCN -check-prefix=VI --implicit-check-not=error: %s
s_set_gpr_idx_on s0, s1
// VI: error: expected absolute expression
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
s_set_gpr_idx_on s0, 16
// VI: error: invalid immediate: only 4-bit values are legal
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid immediate: only 4-bit values are legal
s_set_gpr_idx_on s0, -1
// VI: error: invalid immediate: only 4-bit values are legal
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: invalid immediate: only 4-bit values are legal
s_set_gpr_idx_on s0, gpr_idx
// VI: error: expected absolute expression
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
s_set_gpr_idx_on s0, gpr_idx(
// VI: error: expected a VGPR index mode or a closing parenthesis
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode or a closing parenthesis
s_set_gpr_idx_on s0, gpr_idx(X)
// VI: error: expected a VGPR index mode
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode
s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC1,DST)
// VI: error: duplicate VGPR index mode
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate VGPR index mode
s_set_gpr_idx_on s0, gpr_idx(DST
// VI: error: expected a comma or a closing parenthesis
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma or a closing parenthesis
s_set_gpr_idx_on s0, gpr_idx(SRC0,
// VI: error: expected a VGPR index mode
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: expected a VGPR index mode
s_cmp_eq_i32 0x12345678, 0x12345679
// GCN: error: only one unique literal operand is allowed
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed
s_cmp_eq_u64 0x12345678, 0x12345679
// GCN: error: only one unique literal operand is allowed
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: only one unique literal operand is allowed

View File

@ -63,64 +63,64 @@ s_bitcmp1_b64 s[2:3], s4
s_setvskip s3, s5
// GCN: s_setvskip s3, s5 ; encoding: [0x03,0x05,0x10,0xbf]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cmp_eq_u64 s[0:1], s[2:3]
// VI: s_cmp_eq_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x12,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_cmp_lg_u64 s[0:1], s[2:3]
// VI: s_cmp_lg_u64 s[0:1], s[2:3] ; encoding: [0x00,0x02,0x13,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
gpr_idx = 1
s_set_gpr_idx_on s0, gpr_idx
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
gpr_idx_mode = 10
s_set_gpr_idx_on s0, gpr_idx_mode + 5
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 0
// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx()
// VI: s_set_gpr_idx_on s0, gpr_idx() ; encoding: [0x00,0x00,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 1
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC0)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0) ; encoding: [0x00,0x01,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 3
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC1,SRC0)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1) ; encoding: [0x00,0x03,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, 15
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_on s0, gpr_idx(SRC0,DST,SRC2,SRC1)
// VI: s_set_gpr_idx_on s0, gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x00,0x0f,0x11,0xbf]
// NOSICI: error: instruction not supported on this GPU
// GFX10-ERR: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU

View File

@ -13,113 +13,113 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1100 %s 2>&1 | FileCheck -check-prefixes=GCN,GFX11-ERR --implicit-check-not=error: %s
s_setreg_b32 0x1f803, s2
// GCN: error: invalid immediate: only 16-bit values are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid immediate: only 16-bit values are legal
s_setreg_b32 typo(0x40), s2
// GCN: error: expected a hwreg macro or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a hwreg macro or an absolute expression
s_setreg_b32 hwreg(0x40), s2
// GCN: error: invalid code of hardware register: only 6-bit values are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid code of hardware register: only 6-bit values are legal
s_setreg_b32 hwreg(HW_REG_WRONG), s2
// GCN: error: expected a register name or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a register name or an absolute expression
s_setreg_b32 hwreg(1 2,3), s2
// GCN: error: expected a comma or a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma or a closing parenthesis
s_setreg_b32 hwreg(1,2 3), s2
// GCN: error: expected a comma
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a comma
s_setreg_b32 hwreg(1,2,3, s2
// GCN: error: expected a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
s_setreg_b32 hwreg(3,32,32), s2
// GCN: error: invalid bit offset: only 5-bit values are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid bit offset: only 5-bit values are legal
s_setreg_b32 hwreg(3,0,33), s2
// GCN: error: invalid bitfield width: only values from 1 to 32 are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid bitfield width: only values from 1 to 32 are legal
s_setreg_imm32_b32 0x1f803, 0xff
// GCN: error: invalid immediate: only 16-bit values are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid immediate: only 16-bit values are legal
s_setreg_imm32_b32 hwreg(3,0,33), 0xff
// GCN: error: invalid bitfield width: only values from 1 to 32 are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid bitfield width: only values from 1 to 32 are legal
s_getreg_b32 s2, hwreg(3,32,32)
// GCN: error: invalid bit offset: only 5-bit values are legal
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid bit offset: only 5-bit values are legal
s_cbranch_i_fork s[2:3], 0x6
// SICI: s_cbranch_i_fork s[2:3], 6 ; encoding: [0x06,0x00,0x82,0xb8]
// GFX10-ERR: error: instruction not supported on this GPU
// GFX10-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: s_cbranch_i_fork s[2:3], 6 ; encoding: [0x06,0x00,0x02,0xb8]
// VI: s_cbranch_i_fork s[2:3], 6 ; encoding: [0x06,0x00,0x02,0xb8]
// GFX11-ERR: error: instruction not supported on this GPU
// GFX11-ERR: :[[@LINE-5]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_getreg_b32 s2, hwreg(HW_REG_SH_MEM_BASES)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_SH_MEM_BASES) ; encoding: [0x0f,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9: s_getreg_b32 s2, hwreg(HW_REG_SH_MEM_BASES) ; encoding: [0x0f,0xf8,0x82,0xb8]
// GFX11: s_getreg_b32 s2, hwreg(HW_REG_SH_MEM_BASES) ; encoding: [0x0f,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_TBA_LO)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_TBA_LO) ; encoding: [0x10,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9: s_getreg_b32 s2, hwreg(HW_REG_TBA_LO) ; encoding: [0x10,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_TBA_HI)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_TBA_HI) ; encoding: [0x11,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9: s_getreg_b32 s2, hwreg(HW_REG_TBA_HI) ; encoding: [0x11,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_TMA_LO)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_TMA_LO) ; encoding: [0x12,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9: s_getreg_b32 s2, hwreg(HW_REG_TMA_LO) ; encoding: [0x12,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_TMA_HI)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_TMA_HI) ; encoding: [0x13,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9: s_getreg_b32 s2, hwreg(HW_REG_TMA_HI) ; encoding: [0x13,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_LO)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_LO) ; encoding: [0x14,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX9-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11: s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_LO) ; encoding: [0x14,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_HI)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_HI) ; encoding: [0x15,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX9-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11: s_getreg_b32 s2, hwreg(HW_REG_FLAT_SCR_HI) ; encoding: [0x15,0xf8,0x82,0xb8]
s_getreg_b32 s2, hwreg(HW_REG_XNACK_MASK)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_XNACK_MASK) ; encoding: [0x16,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX9-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-4]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_getreg_b32 s2, hwreg(HW_REG_POPS_PACKER)
// GFX10: s_getreg_b32 s2, hwreg(HW_REG_POPS_PACKER) ; encoding: [0x19,0xf8,0x02,0xb9]
// SICIVI-ERR: error: specified hardware register is not supported on this GPU
// GFX9-ERR: error: specified hardware register is not supported on this GPU
// GFX11-ERR: error: specified hardware register is not supported on this GPU
// SICIVI-ERR: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX9-ERR: :[[@LINE-3]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX11-ERR: :[[@LINE-4]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_cmpk_le_u32 s2, -1
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_cmpk_le_u32 s2, 0x1ffff
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_cmpk_le_u32 s2, 0x10000
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mulk_i32 s2, 0xFFFFFFFFFFFF0000
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_mulk_i32 s2, 0x10000
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -130,8 +130,8 @@ s_mulk_i32 s2, 0xFFFF
s_cbranch_i_fork s[2:3], 0x6
// SICI: s_cbranch_i_fork s[2:3], 6 ; encoding: [0x06,0x00,0x82,0xb8]
// VI9: s_cbranch_i_fork s[2:3], 6 ; encoding: [0x06,0x00,0x02,0xb8]
// NOGFX10: error: instruction not supported on this GPU
// NOGFX11: error: instruction not supported on this GPU
// NOGFX10: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX11: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// getreg/setreg and hwreg macro
@ -271,17 +271,17 @@ s_setreg_b32 hwreg(HW_REG_HW_ID), s2
// SICI: s_setreg_b32 hwreg(HW_REG_HW_ID), s2 ; encoding: [0x04,0xf8,0x82,0xb9]
// VI9: s_setreg_b32 hwreg(HW_REG_HW_ID), s2 ; encoding: [0x04,0xf8,0x02,0xb9]
// GFX10: s_setreg_b32 hwreg(HW_REG_HW_ID1), s2 ; encoding: [0x17,0xf8,0x82,0xb9]
// NOGFX11: error: specified hardware register is not supported on this GPU
// NOGFX11: :[[@LINE-4]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
s_setreg_b32 hwreg(HW_REG_HW_ID1), s2
// NOSICIVI: error: specified hardware register is not supported on this GPU
// NOGFX9: error: specified hardware register is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// NOGFX9: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX10: s_setreg_b32 hwreg(HW_REG_HW_ID1), s2 ; encoding: [0x17,0xf8,0x82,0xb9]
// GFX11: s_setreg_b32 hwreg(HW_REG_HW_ID1), s2 ; encoding: [0x17,0xf8,0x02,0xb9]
s_setreg_b32 hwreg(HW_REG_HW_ID2), s2
// NOSICIVI: error: specified hardware register is not supported on this GPU
// NOGFX9: error: specified hardware register is not supported on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// NOGFX9: :[[@LINE-2]]:{{[0-9]+}}: error: specified hardware register is not supported on this GPU
// GFX10: s_setreg_b32 hwreg(HW_REG_HW_ID2), s2 ; encoding: [0x18,0xf8,0x82,0xb9]
// GFX11: s_setreg_b32 hwreg(HW_REG_HW_ID2), s2 ; encoding: [0x18,0xf8,0x02,0xb9]
@ -439,44 +439,44 @@ s_getreg_b32 s2, hwreg(1 + reg, -1 + offset, 1 + width)
s_endpgm_ordered_ps_done
// GFX9: s_endpgm_ordered_ps_done ; encoding: [0x00,0x00,0x9e,0xbf]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_endpgm_ordered_ps_done ; encoding: [0x00,0x00,0x9e,0xbf]
// NOGFX11: error: instruction not supported on this GPU
// NOGFX11: :[[@LINE-4]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_call_b64 null, 12609
// GFX10: s_call_b64 null, 12609 ; encoding: [0x41,0x31,0x7d,0xbb]
// NOSICIVI: error: instruction not supported on this GPU
// NOGFX9: error: 'null' operand is not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: 'null' operand is not supported on this GPU
// GFX11: s_call_b64 null, 12609 ; encoding: [0x41,0x31,0x7c,0xba]
s_call_b64 s[12:13], 12609
// GFX9: s_call_b64 s[12:13], 12609 ; encoding: [0x41,0x31,0x8c,0xba]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_call_b64 s[12:13], 12609 ; encoding: [0x41,0x31,0x0c,0xbb]
// GFX11: s_call_b64 s[12:13], 12609 ; encoding: [0x41,0x31,0x0c,0xba]
s_call_b64 s[100:101], 12609
// GFX9: s_call_b64 s[100:101], 12609 ; encoding: [0x41,0x31,0xe4,0xba]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_call_b64 s[100:101], 12609 ; encoding: [0x41,0x31,0x64,0xbb]
// GFX11: s_call_b64 s[100:101], 12609 ; encoding: [0x41,0x31,0x64,0xba]
s_call_b64 s[10:11], 49617
// GFX9: s_call_b64 s[10:11], 49617 ; encoding: [0xd1,0xc1,0x8a,0xba]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_call_b64 s[10:11], 49617 ; encoding: [0xd1,0xc1,0x0a,0xbb]
// GFX11: s_call_b64 s[10:11], 49617 ; encoding: [0xd1,0xc1,0x0a,0xba]
offset = 4
s_call_b64 s[0:1], offset + 4
// GFX9: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x80,0xba]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x00,0xbb]
// GFX11: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x00,0xba]
offset = 4
s_call_b64 s[0:1], 4 + offset
// GFX9: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x80,0xba]
// NOSICIVI: error: instruction not supported on this GPU
// NOSICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX10: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x00,0xbb]
// GFX11: s_call_b64 s[0:1], 8 ; encoding: [0x08,0x00,0x00,0xba]

View File

@ -9,438 +9,438 @@
//===----------------------------------------------------------------------===//
s_sendmsg sendmsg(MSG_INTERRUPTX)
// GCN: error: expected a message name or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a message name or an absolute expression
s_sendmsg sendmsg(1 -)
// GCN: error: unknown token in expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
s_sendmsg sendmsg(MSG_INTERRUPT, 0)
// GCN: error: message does not support operations
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: message does not support operations
s_sendmsg sendmsg(MSG_INTERRUPT, 0, 0)
// GCN: error: message does not support operations
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: message does not support operations
s_sendmsg sendmsg(MSG_GS)
// PREGFX11: error: missing message operation
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: missing message operation
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, GS_OP_NOP)
// PREGFX11: error: invalid operation id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, SYSMSG_OP_ECC_ERR_INTERRUPT)
// GCN: error: expected an operation name or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected an operation name or an absolute expression
s_sendmsg sendmsg(MSG_GS, 0)
// PREGFX11: error: invalid operation id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, -1)
// PREGFX11: error: invalid operation id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, 4)
// PREGFX11: error: invalid operation id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, 8)
// PREGFX11: error: invalid operation id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(15, -1)
// GCN: error: invalid operation id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
s_sendmsg sendmsg(15, 8)
// GCN: error: invalid operation id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 0, 0)
// GCN: error: expected a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
s_sendmsg sendmsg(MSG_GSX, GS_OP_CUT, 0)
// GCN: error: expected a message name or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a message name or an absolute expression
s_sendmsg sendmsg(MSG_GS, GS_OP_CUTX, 0)
// GCN: error: expected an operation name or an absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected an operation name or an absolute expression
s_sendmsg sendmsg(MSG_GS, 1 -)
// GCN: error: unknown token in expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 4)
// PREGFX11: error: invalid message stream id
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid message stream id
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS, GS_OP_CUT, 1 -)
// GCN: error: unknown token in expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: unknown token in expression
s_sendmsg sendmsg(2, 3, 0, 0)
// GCN: error: expected a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
s_sendmsg sendmsg(2, 2, -1)
// GCN: error: invalid message stream id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid message stream id
s_sendmsg sendmsg(2, 2, 4)
// GCN: error: invalid message stream id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid message stream id
s_sendmsg sendmsg(2, 2, 0, 0)
// GCN: error: expected a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
s_sendmsg sendmsg(MSG_GS_DONE, GS_OP_NOP, 0)
// PREGFX11: error: message operation does not support streams
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: message operation does not support streams
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS_DONE, 0, 0)
// PREGFX11: error: message operation does not support streams
// GFX11: error: specified message id is not supported on this GPU
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: message operation does not support streams
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_HS_TESSFACTOR)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_DEALLOC_VGPRS)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_SAVEWAVE)
// SICI: error: specified message id is not supported on this GPU
// GFX11: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_STALL_WAVE_GEN)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_HALT_WAVES)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_ORDERED_PS_DONE)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_EARLY_PRIM_DEALLOC)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX11: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX11: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS_ALLOC_REQ)
// VI: error: specified message id is not supported on this GPU
// SICI: error: specified message id is not supported on this GPU
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GS_ALLOC_REQ, 0)
// VI: error: specified message id is not supported on this GPU
// SICI: error: specified message id is not supported on this GPU
// GFX10: error: message does not support operations
// GFX11: error: message does not support operations
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: message does not support operations
// GFX11: :[[@LINE-4]]:{{[0-9]+}}: error: message does not support operations
s_sendmsg sendmsg(MSG_GET_DOORBELL)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX11: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX11: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_GET_DDID)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX11: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX11: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_GET_DOORBELL)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_GET_DDID)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_GET_TMA)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_GET_REALTIME)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_SAVE_WAVE)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(MSG_RTN_GET_TBA)
// SICI: error: specified message id is not supported on this GPU
// VI: error: specified message id is not supported on this GPU
// GFX10: error: specified message id is not supported on this GPU
// SICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: :[[@LINE-2]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// GFX10: :[[@LINE-3]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
s_sendmsg sendmsg(-1)
// GCN: error: invalid message id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid message id
s_sendmsg sendmsg(16)
// PREGFX11: error: invalid message id
// PREGFX11: :[[@LINE-1]]:{{[0-9]+}}: error: invalid message id
s_sendmsg sendmsg(MSG_SYSMSG)
// GCN: error: missing message operation
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: missing message operation
s_sendmsg sendmsg(MSG_SYSMSG, SYSMSG_OP_ECC_ERR_INTERRUPT, 0)
// GCN: error: message operation does not support streams
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: message operation does not support streams
s_sendmsg sendmsg(MSG_SYSMSG, 0)
// GCN: error: invalid operation id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
s_sendmsg sendmsg(MSG_SYSMSG, 5)
// GCN: error: invalid operation id
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operation id
//===----------------------------------------------------------------------===//
// waitcnt
//===----------------------------------------------------------------------===//
s_waitcnt lgkmcnt(16)
// VI: error: too large value for lgkmcnt
// SICI: error: too large value for lgkmcnt
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for lgkmcnt
// SICI: :[[@LINE-2]]:{{[0-9]+}}: error: too large value for lgkmcnt
s_waitcnt lgkmcnt(64)
// GCN: error: too large value for lgkmcnt
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for lgkmcnt
s_waitcnt expcnt(8)
// GCN: error: too large value for expcnt
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for expcnt
s_waitcnt vmcnt(16)
// VI: error: too large value for vmcnt
// SICI: error: too large value for vmcnt
// VI: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for vmcnt
// SICI: :[[@LINE-2]]:{{[0-9]+}}: error: too large value for vmcnt
s_waitcnt vmcnt(64)
// GCN: error: too large value for vmcnt
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for vmcnt
s_waitcnt vmcnt(0xFFFFFFFFFFFF0000)
// GCN: error: too large value for vmcnt
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: too large value for vmcnt
s_waitcnt vmcnt(0), expcnt(0), lgkmcnt(0),
// GCN: error: expected a counter name
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
s_waitcnt vmcnt(0) & expcnt(0) & lgkmcnt(0)&
// GCN: error: expected a counter name
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
s_waitcnt vmcnt(0) & expcnt(0) & x
// GCN: error: expected a left parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a left parenthesis
s_waitcnt vmcnt(0) & expcnt(0) x
// GCN: error: expected a left parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a left parenthesis
s_waitcnt vmcnt(0) & expcnt(0) & 1
// GCN: error: expected a counter name
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
s_waitcnt vmcnt(0) & expcnt(0) 1
// GCN: error: expected a counter name
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
s_waitcnt vmcnt(0) & expcnt(0) x(0)
// GCN: error: invalid counter name x
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid counter name x
s_waitcnt vmcnt(x)
// GCN: error: expected absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
s_waitcnt x
// GCN: error: expected absolute expression
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
s_waitcnt vmcnt(0
// GCN: error: expected a closing parenthesis
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
//===----------------------------------------------------------------------===//
// s_waitcnt_depctr.
//===----------------------------------------------------------------------===//
s_waitcnt_depctr 65536
// GFX10: error: invalid operand for instruction
// GFX11: error: invalid operand for instruction
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr -32769
// GFX10: error: invalid operand for instruction
// GFX11: error: invalid operand for instruction
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_hold_cnt(0)
// GFX10: error: depctr_hold_cnt is not supported on this GPU
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: depctr_hold_cnt is not supported on this GPU
// SICIVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_sa_sdst(-1)
// GFX10: error: invalid value for depctr_sa_sdst
// GFX11: error: invalid value for depctr_sa_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_sa_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_sa_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vdst(-1)
// GFX10: error: invalid value for depctr_va_vdst
// GFX11: error: invalid value for depctr_va_vdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_vdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_vdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(-1)
// GFX10: error: invalid value for depctr_va_sdst
// GFX11: error: invalid value for depctr_va_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_ssrc(-1)
// GFX10: error: invalid value for depctr_va_ssrc
// GFX11: error: invalid value for depctr_va_ssrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_ssrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_ssrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vcc(-1)
// GFX10: error: invalid value for depctr_va_vcc
// GFX11: error: invalid value for depctr_va_vcc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_vcc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_vcc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(-1)
// GFX10: error: invalid value for depctr_vm_vsrc
// GFX11: error: invalid value for depctr_vm_vsrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_vm_vsrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_vm_vsrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_sa_sdst(2)
// GFX10: error: invalid value for depctr_sa_sdst
// GFX11: error: invalid value for depctr_sa_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_sa_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_sa_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vdst(16)
// GFX10: error: invalid value for depctr_va_vdst
// GFX11: error: invalid value for depctr_va_vdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_vdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_vdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(8)
// GFX10: error: invalid value for depctr_va_sdst
// GFX11: error: invalid value for depctr_va_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_ssrc(2)
// GFX10: error: invalid value for depctr_va_ssrc
// GFX11: error: invalid value for depctr_va_ssrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_ssrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_ssrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vcc(2)
// GFX10: error: invalid value for depctr_va_vcc
// GFX11: error: invalid value for depctr_va_vcc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_va_vcc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_va_vcc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(8)
// GFX10: error: invalid value for depctr_vm_vsrc
// GFX11: error: invalid value for depctr_vm_vsrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid value for depctr_vm_vsrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid value for depctr_vm_vsrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_(8)
// GFX10: error: invalid counter name depctr_vm_
// GFX11: error: invalid counter name depctr_vm_
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: invalid counter name depctr_vm_
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: invalid counter name depctr_vm_
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_sa_sdst(0) depctr_sa_sdst(0)
// GFX10: error: duplicate counter name depctr_sa_sdst
// GFX11: error: duplicate counter name depctr_sa_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_sa_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_sa_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vdst(0) depctr_va_vdst(0)
// GFX10: error: duplicate counter name depctr_va_vdst
// GFX11: error: duplicate counter name depctr_va_vdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(0) depctr_va_sdst(0)
// GFX10: error: duplicate counter name depctr_va_sdst
// GFX11: error: duplicate counter name depctr_va_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_ssrc(0) depctr_va_ssrc(0)
// GFX10: error: duplicate counter name depctr_va_ssrc
// GFX11: error: duplicate counter name depctr_va_ssrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_ssrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_ssrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vcc(0) depctr_va_vcc(0)
// GFX10: error: duplicate counter name depctr_va_vcc
// GFX11: error: duplicate counter name depctr_va_vcc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vcc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vcc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) depctr_vm_vsrc(0)
// GFX10: error: duplicate counter name depctr_vm_vsrc
// GFX11: error: duplicate counter name depctr_vm_vsrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_vm_vsrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_vm_vsrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_sa_sdst(0) depctr_va_sdst(0) depctr_sa_sdst(0)
// GFX10: error: duplicate counter name depctr_sa_sdst
// GFX11: error: duplicate counter name depctr_sa_sdst
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_sa_sdst
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_sa_sdst
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_ssrc(0) depctr_va_sdst(0) depctr_va_ssrc(0)
// GFX10: error: duplicate counter name depctr_va_ssrc
// GFX11: error: duplicate counter name depctr_va_ssrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_ssrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_ssrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_vcc(0) depctr_va_vcc(0) depctr_va_sdst(0)
// GFX10: error: duplicate counter name depctr_va_vcc
// GFX11: error: duplicate counter name depctr_va_vcc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vcc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_va_vcc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) depctr_vm_vsrc(0) depctr_va_sdst(0)
// GFX10: error: duplicate counter name depctr_vm_vsrc
// GFX11: error: duplicate counter name depctr_vm_vsrc
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: duplicate counter name depctr_vm_vsrc
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: duplicate counter name depctr_vm_vsrc
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(0) depctr_vm_vsrc 0)
// GFX10: error: expected a left parenthesis
// GFX11: error: expected a left parenthesis
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a left parenthesis
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a left parenthesis
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(0) 0depctr_vm_vsrc(0)
// GFX10: error: expected a counter name
// GFX11: error: expected a counter name
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a counter name
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(0) depctr_vm_vsrc(x)
// GFX10: error: expected absolute expression
// GFX11: error: expected absolute expression
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected absolute expression
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_va_sdst(0) depctr_vm_vsrc(0; & depctr_va_sdst(0)
// GFX10: error: expected a closing parenthesis
// GFX11: error: expected a closing parenthesis
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a closing parenthesis
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a closing parenthesis
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc 0) depctr_vm_vsrc(0) depctr_va_sdst(0)
// GFX10: error: expected absolute expression
// GFX11: error: expected absolute expression
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected absolute expression
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected absolute expression
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) ,
// GFX10: error: expected a counter name
// GFX11: error: expected a counter name
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a counter name
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) , &
// GFX10: error: expected a counter name
// GFX11: error: expected a counter name
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a counter name
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) &
// GFX10: error: expected a counter name
// GFX11: error: expected a counter name
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a counter name
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_waitcnt_depctr depctr_vm_vsrc(0) & &
// GFX10: error: expected a counter name
// GFX11: error: expected a counter name
// SICIVI: error: instruction not supported on this GPU
// GFX10: :[[@LINE-1]]:{{[0-9]+}}: error: expected a counter name
// GFX11: :[[@LINE-2]]:{{[0-9]+}}: error: expected a counter name
// SICIVI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// s_branch.
//===----------------------------------------------------------------------===//
s_branch 0x80000000ffff
// GCN: error: expected a 16-bit signed jump offset
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 16-bit signed jump offset
s_branch 0x10000
// GCN: error: expected a 16-bit signed jump offset
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 16-bit signed jump offset
s_branch -32769
// GCN: error: expected a 16-bit signed jump offset
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 16-bit signed jump offset
s_branch 1.0
// GCN: error: expected a 16-bit signed jump offset
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: expected a 16-bit signed jump offset
s_branch s0
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
s_branch offset:1
// GCN: error: not a valid operand
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: not a valid operand

View File

@ -237,7 +237,7 @@ s_sendmsg sendmsg(4)
// VI: s_sendmsg sendmsg(MSG_SAVEWAVE) ; encoding: [0x04,0x00,0x90,0xbf]
s_sendmsg sendmsg(MSG_SAVEWAVE)
// NOSICI: error: specified message id is not supported on this GPU
// NOSICI: :[[@LINE-1]]:{{[0-9]+}}: error: specified message id is not supported on this GPU
// VI: s_sendmsg sendmsg(MSG_SAVEWAVE) ; encoding: [0x04,0x00,0x90,0xbf]
s_sendmsg 0x1f
@ -366,31 +366,31 @@ s_ttracedata
s_set_gpr_idx_off
// VI: s_set_gpr_idx_off ; encoding: [0x00,0x00,0x9c,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_mode 0
// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_mode gpr_idx()
// VI: s_set_gpr_idx_mode gpr_idx() ; encoding: [0x00,0x00,0x9d,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_mode 15
// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_set_gpr_idx_mode gpr_idx(SRC2,SRC1,SRC0,DST)
// VI: s_set_gpr_idx_mode gpr_idx(SRC0,SRC1,SRC2,DST) ; encoding: [0x0f,0x00,0x9d,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_endpgm_saved
// VI: s_endpgm_saved ; encoding: [0x00,0x00,0x9b,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
s_wakeup
// VI: s_wakeup ; encoding: [0x00,0x00,0x83,0xbf]
// NOSICI: error: instruction not supported on this GPU
// NOSICI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
//===----------------------------------------------------------------------===//
// absolute expressions as branch offsets

View File

@ -45,7 +45,7 @@ s_and_b32 ttmp10, ttmp8, 0x00000080
s_and_b32 ttmp9, tma_hi, 0x0000ffff
// SICI: s_and_b32 ttmp9, tma_hi, 0xffff ; encoding: [0x6f,0xff,0x79,0x87,0xff,0xff,0x00,0x00]
// VI: s_and_b32 ttmp9, tma_hi, 0xffff ; encoding: [0x6f,0xff,0x79,0x86,0xff,0xff,0x00,0x00]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_and_b32 ttmp9, ttmp9, 0x000001ff
// SICI: s_and_b32 ttmp9, ttmp9, 0x1ff ; encoding: [0x79,0xff,0x79,0x87,0xff,0x01,0x00,0x00]
@ -55,7 +55,7 @@ s_and_b32 ttmp9, ttmp9, 0x000001ff
s_and_b32 ttmp9, tma_lo, 0xffff0000
// SICI: s_and_b32 ttmp9, tma_lo, 0xffff0000 ; encoding: [0x6e,0xff,0x79,0x87,0x00,0x00,0xff,0xff]
// VI: s_and_b32 ttmp9, tma_lo, 0xffff0000 ; encoding: [0x6e,0xff,0x79,0x86,0x00,0x00,0xff,0xff]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_and_b32 ttmp9, ttmp9, ttmp8
// SICI: s_and_b32 ttmp9, ttmp9, ttmp8 ; encoding: [0x79,0x78,0x79,0x87]
@ -110,7 +110,7 @@ s_mov_b32 ttmp8, m0
s_mov_b32 ttmp8, tma_lo
// SICI: s_mov_b32 ttmp8, tma_lo ; encoding: [0x6e,0x03,0xf8,0xbe]
// VI: s_mov_b32 ttmp8, tma_lo ; encoding: [0x6e,0x00,0xf8,0xbe]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mul_i32 ttmp8, 0x00000324, ttmp8
// SICI: s_mul_i32 ttmp8, 0x324, ttmp8 ; encoding: [0xff,0x78,0x78,0x93,0x24,0x03,0x00,0x00]
@ -125,19 +125,19 @@ s_or_b32 ttmp9, ttmp9, 0x00280000
// ttmp12..ttmp15 (GFX9 only)
s_add_u32 ttmp0, ttmp12, 4
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_u32 ttmp0, ttmp12, 4 ; encoding: [0x78,0x84,0x6c,0x80]
s_add_u32 ttmp0, ttmp13, 4
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_u32 ttmp0, ttmp13, 4 ; encoding: [0x79,0x84,0x6c,0x80]
s_add_u32 ttmp0, ttmp14, 4
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_u32 ttmp0, ttmp14, 4 ; encoding: [0x7a,0x84,0x6c,0x80]
s_add_u32 ttmp0, ttmp15, 4
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_add_u32 ttmp0, ttmp15, 4 ; encoding: [0x7b,0x84,0x6c,0x80]
//===----------------------------------------------------------------------===//
@ -162,31 +162,31 @@ s_mov_b64 exec, [ttmp4,ttmp5]
s_mov_b64 tba, ttmp[4:5]
// SICI: s_mov_b64 tba, ttmp[4:5] ; encoding: [0x74,0x04,0xec,0xbe]
// VI: s_mov_b64 tba, ttmp[4:5] ; encoding: [0x74,0x01,0xec,0xbe]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 ttmp[4:5], tba
// SICI: s_mov_b64 ttmp[4:5], tba ; encoding: [0x6c,0x04,0xf4,0xbe]
// VI: s_mov_b64 ttmp[4:5], tba ; encoding: [0x6c,0x01,0xf4,0xbe]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 tma, ttmp[4:5]
// SICI: s_mov_b64 tma, ttmp[4:5] ; encoding: [0x74,0x04,0xee,0xbe]
// VI: s_mov_b64 tma, ttmp[4:5] ; encoding: [0x74,0x01,0xee,0xbe]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
s_mov_b64 ttmp[4:5], tma
// SICI: s_mov_b64 ttmp[4:5], tma ; encoding: [0x6e,0x04,0xf4,0xbe]
// VI: s_mov_b64 ttmp[4:5], tma ; encoding: [0x6e,0x01,0xf4,0xbe]
// NOGFX9: error: register not available on this GPU
// NOGFX9: :[[@LINE-3]]:{{[0-9]+}}: error: register not available on this GPU
// ttmp12..ttmp15 (GFX9 only)
s_mov_b64 ttmp[12:13], exec
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_mov_b64 ttmp[12:13], exec ; encoding: [0x7e,0x01,0xf8,0xbe]
s_mov_b64 ttmp[14:15], exec
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: s_mov_b64 ttmp[14:15], exec ; encoding: [0x7e,0x01,0xfa,0xbe]
//===----------------------------------------------------------------------===//
@ -205,7 +205,7 @@ s_buffer_load_dwordx8 ttmp[4:11], s[0:3], s0
// SICI: s_buffer_load_dwordx8 ttmp[4:11], s[0:3], s0 ; encoding: [0x00,0x00,0xfa,0xc2]
s_buffer_load_dwordx8 ttmp[8:15], s[0:3], s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: [0x00,0x1d,0x2c,0xc0,0x00,0x00,0x00,0x00]
s_load_dwordx8 ttmp[0:7], s[0:1], s0
@ -219,7 +219,7 @@ s_load_dwordx8 ttmp[4:11], s[0:1], s0
// SICI: s_load_dwordx8 ttmp[4:11], s[0:1], s0 ; encoding: [0x00,0x00,0xfa,0xc0]
s_load_dwordx8 ttmp[8:15], s[0:1], s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: [0x00,0x1d,0x0c,0xc0,0x00,0x00,0x00,0x00]
//===----------------------------------------------------------------------===//
@ -228,11 +228,11 @@ s_load_dwordx8 ttmp[8:15], s[0:1], s0
//===----------------------------------------------------------------------===//
s_buffer_load_dwordx16 ttmp[0:15], s[0:3], s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: [0x00,0x1b,0x30,0xc0,0x00,0x00,0x00,0x00]
s_load_dwordx16 ttmp[0:15], s[0:1], s0
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: [0x00,0x1b,0x10,0xc0,0x00,0x00,0x00,0x00]
//===----------------------------------------------------------------------===//
@ -257,5 +257,5 @@ buffer_atomic_inc v1, off, ttmp[8:11], 56 glc
// ttmp12..ttmp15 (GFX9 only)
buffer_atomic_inc v1, off, ttmp[12:15], 56 glc
// NOSICIVI: error: register not available on this GPU
// NOSICIVI: :[[@LINE-1]]:{{[0-9]+}}: error: register not available on this GPU
// GFX9: buffer_atomic_inc v1, off, ttmp[12:15], 56 glc ; encoding: [0x00,0x40,0x2c,0xe1,0x00,0x01,0x1e,0xb8]

View File

@ -3,43 +3,43 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 %s 2>&1 | FileCheck %s --implicit-check-not=error:
v_interp_p1_f32_e64 v5, 0.5, attr0.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1_f32_e64 v5, s1, attr0.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1ll_f16 v5, 0.5, attr0.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1ll_f16 v5, s1, attr0.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1lv_f16 v5, 0.5, attr0.w, v3
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1lv_f16 v5, s1, attr0.w, v3
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1lv_f16 v5, v1, attr31.w, 0.5
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p1lv_f16 v5, v1, attr31.w, s1
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16 v5, 0.5, attr0.w, v3
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16 v5, s1, attr0.w, v3
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16 v5, v1, attr1.w, 0.5
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f16 v5, v1, attr1.w, s1
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f32_e64 v5, 0.5, attr31.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_p2_f32_e64 v5, s1, attr31.w
// CHECK: error: invalid operand for instruction
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction

View File

@ -2,67 +2,67 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=tonga %s 2>&1 | FileCheck -check-prefix=GCN --implicit-check-not=error: %s
v_interp_p1_f32 v0, v1
// GCN: error: too few operands for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: too few operands for instruction
v_interp_p1_f32 v0, v1, attr64.w
// GCN: error: out of bounds interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: out of bounds interpolation attribute number
v_interp_p1_f32 v0, v1, attr64.x
// GCN: error: out of bounds interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: out of bounds interpolation attribute number
v_interp_p2_f32 v9, v1, attr64.x
// GCN: error: out of bounds interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: out of bounds interpolation attribute number
v_interp_p2_f32 v0, v1, attr64.x
// GCN: error: out of bounds interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: out of bounds interpolation attribute number
v_interp_p2_f32 v0, v1, attr0.q
// GCN: error: invalid or missing interpolation attribute channel
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute channel
v_interp_p2_f32 v0, v1, attr0.
// GCN: error: invalid or missing interpolation attribute channel
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute channel
v_interp_p2_f32 v0, v1, attr
// GCN: error: invalid or missing interpolation attribute channel
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute channel
v_interp_p2_f32 v0, v1, att
// GCN: error: invalid interpolation attribute
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation attribute
v_interp_p2_f32 v0, v1, attrq
// GCN: error: invalid or missing interpolation attribute channel
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute channel
v_interp_p2_f32 v7, v1, attr.x
// GCN: error: invalid or missing interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute number
v_interp_p2_f32 v7, v1, attr-1.x
// GCN: error: invalid or missing interpolation attribute channel
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute channel
v_interp_p2_f32 v7, v1, attrA.x
// GCN: error: invalid or missing interpolation attribute number
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid or missing interpolation attribute number
v_interp_mov_f32 v11, invalid_param_3, attr0.y
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v12, invalid_param_10, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v3, invalid_param_3, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v8, invalid_param_8, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v8, foo, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v8, 0, attr0.x
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_mov_f32 v8, -1, attr0.x
// GCN: error: invalid operand for instruction
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand for instruction
v_interp_mov_f32 v8, p-1, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot
v_interp_mov_f32 v8, p1, attr0.x
// GCN: error: invalid interpolation slot
// GCN: :[[@LINE-1]]:{{[0-9]+}}: error: invalid interpolation slot

View File

@ -7,196 +7,196 @@
// v_movreld_b32: implicitly reads m0 (VOP1/VOP3)
v_movreld_b32 v0, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, flat_scratch_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, flat_scratch_hi
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, vcc_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, vcc_hi
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, exec_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, exec_hi
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, ttmp0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, ttmp1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32 v0, 123
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32_e64 v0, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32_e64 v0, flat_scratch_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_movreld_b32_e64 v0, flat_scratch_hi
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// v_div_fmas: implicitly read VCC (VOP3)
v_div_fmas_f32 v0, s1, s1, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v2, v3, -s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, s2, |v3|
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, -v2, -s3
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, flat_scratch_lo, v3
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, v2, flat_scratch_hi
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, v2, m0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f32 v0, v1, ttmp2, v2
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], s[2:3], v[4:5], v[6:7]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], v[2:3], s[4:5], v[6:7]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], v[2:3], v[4:5], s[6:7]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], v[2:3], v[4:5], ttmp[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], v[2:3], v[4:5], flat_scratch
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_div_fmas_f64 v[0:1], v[2:3], v[4:5], exec
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// v_cndmask_b32: implicitly reads VCC (VOP2)
v_cndmask_b32 v0, s1, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32 v0, flat_scratch_lo, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32 v0, flat_scratch_hi, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32 v0, exec_lo, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32 v0, exec_hi, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// v_cndmask_b32_e64: VOP3, no implicit reads
v_cndmask_b32_e64 v0, s1, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, flat_scratch_lo, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, flat_scratch_hi, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s1, v2, flat_scratch
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s0, v2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, v2, s0, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s0, s0, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s1, v2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, v2, s1, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s1, s1, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s1, v2, s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, v2, s1, s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cndmask_b32_e64 v0, s1, s1, s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// v_addc_u32: implicitly reads VCC (VOP2 only!)
v_addc_u32 v0, vcc, s0, v0, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32 v0, vcc, flat_scratch_lo, v0, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32 v0, vcc, flat_scratch_hi, v0, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32 v0, vcc, exec_lo, v0, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32 v0, vcc, exec_hi, v0, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// v_addc_u32_e64: no implicit read in VOP3
v_addc_u32_e64 v0, s[0:1], s2, v2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], v2, s2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], s2, s2, vcc
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], s0, v2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], v2, s0, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], s0, s0, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], s2, v2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], v2, s2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_addc_u32_e64 v0, s[0:1], s2, s2, s[0:1]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// VOP1 w/o implicit reads have no negative test cases on constant bus use
@ -206,85 +206,85 @@ v_addc_u32_e64 v0, s[0:1], s2, s2, s[0:1]
// madak/madmk: a special case for VOP2 w/o implicit reads
v_madak_f32 v0, s0, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, flat_scratch_lo, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, flat_scratch_hi, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, exec_lo, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, exec_hi, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, vcc_lo, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_madak_f32 v0, vcc_hi, v0, 0x11213141
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// VOP3 w/o implicit reads
v_mad_f32 v0, s0, s1, s0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_mad_f32 v0, s1, s0, s0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_mad_f32 v0, s0, s0, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_mad_f32 v0, s0, s0, flat_scratch_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// VOP2_e64:
v_add_f32_e64 v0, s0, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f32_e64 v0, s0, flat_scratch_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f32_e64 v0, flat_scratch_hi, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f32_e64 v0, flat_scratch_hi, m0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f64 v[0:1], s[0:1], s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f64 v[0:1], s[0:1], flat_scratch
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_add_f64 v[0:1], vcc, s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
//=====================================================
// VOPC_e64:
v_cmp_eq_f32_e64 s[0:1], s0, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32_e64 s[0:1], s0, flat_scratch_lo
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32_e64 s[0:1], flat_scratch_hi, s1
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f32_e64 s[0:1], s0, m0
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f64_e64 s[0:1], s[0:1], s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f64_e64 s[0:1], s[0:1], flat_scratch
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)
v_cmp_eq_f64_e64 s[0:1], vcc, s[2:3]
// CHECK: error: invalid operand (violates constant bus restrictions)
// CHECK: :[[@LINE-1]]:{{[0-9]+}}: error: invalid operand (violates constant bus restrictions)

View File

@ -3,34 +3,34 @@
// RUN: not llvm-mc -arch=amdgcn -mcpu=hawaii %s 2>&1 | FileCheck -check-prefixes=GCN,CI --implicit-check-not=error: %s
v_swap_b32 v1, 1
// CI: error: instruction not supported on this GPU
// GFX9: error: invalid operand for instruction
// VI: error: instruction not supported on this GPU
// CI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_swap_b32 v1, s0
// CI: error: instruction not supported on this GPU
// GFX9: error: invalid operand for instruction
// VI: error: instruction not supported on this GPU
// CI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_swap_b32_e64 v1, v2
// GFX9: :1: error: e64 variant of this instruction is not supported
// CI: :1: error: instruction not supported on this GPU
// VI: :1: error: instruction not supported on this GPU
// GFX9: :[[@LINE-1]]:1: error: e64 variant of this instruction is not supported
// CI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
// VI: :[[@LINE-3]]:1: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v1
// CI: error: instruction not supported on this GPU
// GFX9: error: invalid operand for instruction
// VI: error: instruction not supported on this GPU
// CI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v2
// CI: error: instruction not supported on this GPU
// GFX9: error: invalid operand for instruction
// VI: error: instruction not supported on this GPU
// CI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_swap_b32 v1, v2, v2, v2
// CI: error: instruction not supported on this GPU
// GFX9: error: invalid operand for instruction
// VI: error: instruction not supported on this GPU
// CI: :[[@LINE-1]]:{{[0-9]+}}: error: instruction not supported on this GPU
// GFX9: :[[@LINE-2]]:{{[0-9]+}}: error: invalid operand for instruction
// VI: :[[@LINE-3]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_swap_codegen_pseudo_b32 v1, v2
// GCN: :1: error: invalid instruction
// GCN: :[[@LINE-1]]:1: error: invalid instruction

View File

@ -5,53 +5,53 @@
v_swap_b32 v1, v2
// GFX9: v_swap_b32 v1, v2 ; encoding: [0x02,0xa3,0x02,0x7e]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
// FIXME: Error for it requiring VOP1 encoding
v_swap_b32_e32 v1, v2
// GFX9: v_swap_b32 v1, v2 ; encoding: [0x02,0xa3,0x02,0x7e]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
v_cvt_norm_i16_f16 v5, v1
// GFX9: v_cvt_norm_i16_f16_e32 v5, v1 ; encoding: [0x01,0x9b,0x0a,0x7e]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_cvt_norm_i16_f16 v5, -4.0
// GFX9: v_cvt_norm_i16_f16_e32 v5, -4.0 ; encoding: [0xf7,0x9a,0x0a,0x7e]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_cvt_norm_i16_f16 v5, 0xfe0b
// GFX9: v_cvt_norm_i16_f16_e32 v5, 0xfe0b ; encoding: [0xff,0x9a,0x0a,0x7e,0x0b,0xfe,0x00,0x00]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_cvt_norm_u16_f16 v5, s101
// GFX9: v_cvt_norm_u16_f16_e32 v5, s101 ; encoding: [0x65,0x9c,0x0a,0x7e]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_sat_pk_u8_i16 v255, v1
// GFX9: v_sat_pk_u8_i16_e32 v255, v1 ; encoding: [0x01,0x9f,0xfe,0x7f]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_sat_pk_u8_i16 v5, -1
// GFX9: v_sat_pk_u8_i16_e32 v5, -1 ; encoding: [0xc1,0x9e,0x0a,0x7e]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_sat_pk_u8_i16 v5, 0x3f717273
// GFX9: v_sat_pk_u8_i16_e32 v5, 0x3f717273 ; encoding: [0xff,0x9e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
// NOVI: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:{{[0-9]+}}: error: instruction not supported on this GPU
v_screen_partition_4se_b32 v5, v255
// GFX9: v_screen_partition_4se_b32_e32 v5, v255 ; encoding: [0xff,0x6f,0x0a,0x7e]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
v_screen_partition_4se_b32 v5, s101
// GFX9: v_screen_partition_4se_b32_e32 v5, s101 ; encoding: [0x65,0x6e,0x0a,0x7e]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
v_screen_partition_4se_b32 v5, -1
// GFX9: v_screen_partition_4se_b32_e32 v5, -1 ; encoding: [0xc1,0x6e,0x0a,0x7e]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU
v_screen_partition_4se_b32 v5, 0x3f717273
// GFX9: v_screen_partition_4se_b32_e32 v5, 0x3f717273 ; encoding: [0xff,0x6e,0x0a,0x7e,0x73,0x72,0x71,0x3f]
// NOVI: :1: error: instruction not supported on this GPU
// NOVI: :[[@LINE-2]]:1: error: instruction not supported on this GPU

Some files were not shown because too many files have changed in this diff Show More