1// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize32,-wavefrontsize64 -show-encoding %s | FileCheck -check-prefix=GFX1032 %s 2// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-wavefrontsize32,+wavefrontsize64 -show-encoding %s | FileCheck -check-prefix=GFX1064 %s 3// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=+wavefrontsize32,-wavefrontsize64 %s 2>&1 | FileCheck -check-prefix=GFX1032-ERR --implicit-check-not=error: %s 4// RUN: not llvm-mc -arch=amdgcn -mcpu=gfx1010 -mattr=-wavefrontsize32,+wavefrontsize64 %s 2>&1 | FileCheck -check-prefix=GFX1064-ERR --implicit-check-not=error: %s 5 6v_cmp_ge_i32_e32 s0, v0 7// GFX1032: v_cmp_ge_i32_e32 vcc_lo, s0, v0 ; encoding: [0x00,0x00,0x0c,0x7d] 8// GFX1064: v_cmp_ge_i32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x0c,0x7d] 9 10v_cmp_ge_i32_e32 vcc_lo, s0, v1 11// GFX1032: v_cmp_ge_i32_e32 vcc_lo, s0, v1 ; encoding: [0x00,0x02,0x0c,0x7d] 12// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 13 14v_cmp_ge_i32_e32 vcc, s0, v2 15// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 16// GFX1064: v_cmp_ge_i32_e32 vcc, s0, v2 ; encoding: [0x00,0x04,0x0c,0x7d] 17 18v_cmp_le_f16_sdwa s0, v3, v4 src0_sel:WORD_1 src1_sel:DWORD 19// GFX1032: v_cmp_le_f16_sdwa s0, v3, v4 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x08,0x96,0x7d,0x03,0x80,0x05,0x06] 20// GFX1064-ERR: :[[@LINE-2]]:19: error: invalid operand for instruction 21 22v_cmp_le_f16_sdwa s[0:1], v3, v4 src0_sel:WORD_1 src1_sel:DWORD 23// GFX1032-ERR: :[[@LINE-1]]:19: error: invalid operand for instruction 24// GFX1064: v_cmp_le_f16_sdwa s[0:1], v3, v4 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x08,0x96,0x7d,0x03,0x80,0x05,0x06] 25 26v_cmp_class_f32_e32 vcc_lo, s0, v0 27// GFX1032: v_cmp_class_f32_e32 vcc_lo, s0, v0 ; encoding: [0x00,0x00,0x10,0x7d] 28// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 29 30v_cmp_class_f32_e32 vcc, s0, v0 31// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 32// GFX1064: v_cmp_class_f32_e32 vcc, s0, v0 ; encoding: [0x00,0x00,0x10,0x7d] 33 34// TODO-GFX10: The following encoding does not match SP3's encoding, which is: 35// [0xf9,0x04,0x1e,0x7d,0x01,0x06,0x06,0x06] 36v_cmp_class_f16_sdwa vcc_lo, v1, v2 src0_sel:DWORD src1_sel:DWORD 37// GFX1032: v_cmp_class_f16_sdwa vcc_lo, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x00,0x06,0x06] 38// GFX1064-ERR: :[[@LINE-2]]:22: error: invalid operand for instruction 39 40// TODO-GFX10: The following encoding does not match SP3's encoding, which is: 41// [0xf9,0x04,0x1e,0x7d,0x01,0x06,0x06,0x06] 42v_cmp_class_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD 43// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 44// GFX1064: v_cmp_class_f16_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x00,0x06,0x06] 45 46v_cmp_class_f16_sdwa s0, v1, v2 src0_sel:DWORD src1_sel:DWORD 47// GFX1032: v_cmp_class_f16_sdwa s0, v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x80,0x06,0x06] 48// GFX1064-ERR: :[[@LINE-2]]:22: error: invalid operand for instruction 49 50v_cmp_class_f16_sdwa s[0:1], v1, v2 src0_sel:DWORD src1_sel:DWORD 51// GFX1032-ERR: :[[@LINE-1]]:22: error: invalid operand for instruction 52// GFX1064: v_cmp_class_f16_sdwa s[0:1], v1, v2 src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x1e,0x7d,0x01,0x80,0x06,0x06] 53 54v_cndmask_b32_e32 v1, v2, v3, 55// GFX1032: v_cndmask_b32_e32 v1, v2, v3, vcc_lo ; encoding: [0x02,0x07,0x02,0x02] 56// GFX1064: v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x02] 57 58v_cndmask_b32_e32 v1, v2, v3, vcc_lo 59// GFX1032: v_cndmask_b32_e32 v1, v2, v3, vcc_lo ; encoding: [0x02,0x07,0x02,0x02] 60// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 61 62v_cndmask_b32_e32 v1, v2, v3, vcc 63// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 64// GFX1064: v_cndmask_b32_e32 v1, v2, v3, vcc ; encoding: [0x02,0x07,0x02,0x02] 65 66v_cndmask_b32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD 67// GFX1032: v_cndmask_b32_sdwa v5, v1, v2, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06] 68// GFX1064: v_cndmask_b32_sdwa v5, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06] 69 70v_cndmask_b32_sdwa v5, v1, v2, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD 71// GFX1032: v_cndmask_b32_sdwa v5, v1, v2, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06] 72// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 73 74v_cndmask_b32_sdwa v5, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD 75// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 76// GFX1064: v_cndmask_b32_sdwa v5, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x02,0x01,0x16,0x06,0x06] 77 78v_cndmask_b32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 79// GFX1032: v_cndmask_b32_dpp v5, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00] 80// GFX1064: v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00] 81 82v_cndmask_b32_dpp v5, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 83// GFX1032: v_cndmask_b32_dpp v5, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00] 84// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 85 86v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 87// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 88// GFX1064: v_cndmask_b32_dpp v5, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x02,0x01,0xe4,0x00,0x00] 89 90v_add_co_u32_e32 v2, vcc_lo, s0, v2 91// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 92// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 93 94v_add_co_u32_e32 v2, vcc, s0, v2 95// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 96// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 97 98v_add_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo 99// GFX1032: v_add_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x50] 100// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 101 102v_add_co_ci_u32_e32 v3, vcc, v3, v4, vcc 103// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 104// GFX1064: v_add_co_ci_u32_e32 v3, vcc, v3, v4, vcc ; encoding: [0x03,0x09,0x06,0x50] 105 106v_add_co_ci_u32_e32 v3, v3, v4 107// GFX1032: v_add_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x50] 108// GFX1064: v_add_co_ci_u32_e32 v3, vcc, v3, v4, vcc ; encoding: [0x03,0x09,0x06,0x50] 109 110v_sub_co_u32_e32 v2, vcc_lo, s0, v2 111// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 112// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 113 114v_sub_co_u32_e32 v2, vcc, s0, v2 115// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 116// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 117 118v_subrev_co_u32_e32 v2, vcc_lo, s0, v2 119// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 120// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 121 122v_subrev_co_u32_e32 v2, vcc, s0, v2 123// GFX1032-ERR: :[[@LINE-1]]:1: error: e32 variant of this instruction is not supported 124// GFX1064-ERR: :[[@LINE-2]]:1: error: e32 variant of this instruction is not supported 125 126v_sub_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo 127// GFX1032: v_sub_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x52] 128// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 129 130v_sub_co_ci_u32_e32 v3, vcc, v3, v4, vcc 131// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 132// GFX1064: v_sub_co_ci_u32_e32 v3, vcc, v3, v4, vcc ; encoding: [0x03,0x09,0x06,0x52] 133 134v_sub_co_ci_u32_e32 v3, v3, v4 135// GFX1032: v_sub_co_ci_u32_e32 v3, vcc_lo, v3, v4, vcc_lo ; encoding: [0x03,0x09,0x06,0x52] 136// GFX1064: v_sub_co_ci_u32_e32 v3, vcc, v3, v4, vcc ; encoding: [0x03,0x09,0x06,0x52] 137 138v_subrev_co_ci_u32_e32 v1, vcc_lo, 0, v1, vcc_lo 139// GFX1032: v_subrev_co_ci_u32_e32 v1, vcc_lo, 0, v1, vcc_lo ; encoding: [0x80,0x02,0x02,0x54] 140// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 141 142v_subrev_co_ci_u32_e32 v1, vcc, 0, v1, vcc 143// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 144// GFX1064: v_subrev_co_ci_u32_e32 v1, vcc, 0, v1, vcc ; encoding: [0x80,0x02,0x02,0x54] 145 146v_subrev_co_ci_u32_e32 v1, 0, v1 147// GFX1032: v_subrev_co_ci_u32_e32 v1, vcc_lo, 0, v1, vcc_lo ; encoding: [0x80,0x02,0x02,0x54] 148// GFX1064: v_subrev_co_ci_u32_e32 v1, vcc, 0, v1, vcc ; encoding: [0x80,0x02,0x02,0x54] 149 150v_add_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 151// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 152// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 153 154v_add_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 155// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 156// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 157 158v_add_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 159// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 160// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 161 162v_add_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 163// GFX1032: v_add_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06] 164// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 165 166v_add_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 167// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 168// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06] 169 170v_add_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 171// GFX1032: v_add_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06] 172// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x00,0x06] 173 174v_sub_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 175// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 176// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 177 178v_sub_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 179// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 180// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 181 182v_sub_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 183// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 184// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 185 186v_subrev_co_u32_sdwa v0, vcc_lo, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 187// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 188// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 189 190v_subrev_co_u32_sdwa v0, vcc, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 191// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 192// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 193 194v_subrev_co_u32_sdwa v0, v0, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 195// GFX1032-ERR: :[[@LINE-1]]:1: error: sdwa variant of this instruction is not supported 196// GFX1064-ERR: :[[@LINE-2]]:1: error: sdwa variant of this instruction is not supported 197 198v_sub_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 199// GFX1032: v_sub_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x52,0x01,0x06,0x00,0x06] 200// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 201 202v_sub_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 203// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 204// GFX1064: v_sub_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x52,0x01,0x06,0x00,0x06] 205 206v_sub_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 207// GFX1032: v_sub_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x52,0x01,0x06,0x00,0x06] 208// GFX1064: v_sub_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x52,0x01,0x06,0x00,0x06] 209 210v_subrev_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 211// GFX1032: v_subrev_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x54,0x01,0x06,0x00,0x06] 212// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 213 214v_subrev_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 215// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 216// GFX1064: v_subrev_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x54,0x01,0x06,0x00,0x06] 217 218v_subrev_co_ci_u32_sdwa v1, v1, v4 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 219// GFX1032: v_subrev_co_ci_u32_sdwa v1, vcc_lo, v1, v4, vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x54,0x01,0x06,0x00,0x06] 220// GFX1064: v_subrev_co_ci_u32_sdwa v1, vcc, v1, v4, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x54,0x01,0x06,0x00,0x06] 221 222v_add_co_ci_u32 v1, sext(v1), sext(v4) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 223// GFX1032: v_add_co_ci_u32_sdwa v1, vcc_lo, sext(v1), sext(v4), vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x08,0x0e] 224// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, sext(v1), sext(v4), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x08,0x0e] 225 226v_add_co_ci_u32_sdwa v1, vcc_lo, sext(v1), sext(v4), vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 227// GFX1032: v_add_co_ci_u32_sdwa v1, vcc_lo, sext(v1), sext(v4), vcc_lo dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x08,0x0e] 228// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 229 230v_add_co_ci_u32_sdwa v1, vcc, sext(v1), sext(v4), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD 231// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 232// GFX1064: v_add_co_ci_u32_sdwa v1, vcc, sext(v1), sext(v4), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x08,0x02,0x50,0x01,0x06,0x08,0x0e] 233 234v_add_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 235// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 236// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 237 238v_add_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 239// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 240// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 241 242v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 243// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 244// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 245 246v_add_co_ci_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 247// GFX1032: v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00] 248// GFX1064: v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00] 249 250v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 251// GFX1032: v_add_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00] 252// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 253 254v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 255// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 256// GFX1064: v_add_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x50,0x01,0xe4,0x00,0x00] 257 258v_sub_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 259// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 260// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 261 262v_sub_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 263// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 264// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 265 266v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 267// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 268// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 269 270v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 271// GFX1032: v_sub_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00] 272// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 273 274v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 275// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 276// GFX1064: v_sub_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x52,0x01,0xe4,0x00,0x00] 277 278v_subrev_co_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 279// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 280// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 281 282v_subrev_co_u32_dpp v5, vcc_lo, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 283// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 284// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 285 286v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 287// GFX1032-ERR: :[[@LINE-1]]:1: error: dpp variant of this instruction is not supported 288// GFX1064-ERR: :[[@LINE-2]]:1: error: dpp variant of this instruction is not supported 289 290v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 291// GFX1032: v_subrev_co_ci_u32_dpp v5, vcc_lo, v1, v2, vcc_lo quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00] 292// GFX1064-ERR: :[[@LINE-2]]:1: error: operands are not valid for this GPU or mode 293 294v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 295// GFX1032-ERR: :[[@LINE-1]]:1: error: operands are not valid for this GPU or mode 296// GFX1064: v_subrev_co_ci_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x54,0x01,0xe4,0x00,0x00] 297 298v_add_co_u32 v0, s0, v0, v2 299// GFX1032: v_add_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x0f,0xd7,0x00,0x05,0x02,0x00] 300// GFX1064-ERR: :[[@LINE-2]]:26: error: invalid operand for instruction 301 302v_add_co_u32_e64 v0, s0, v0, v2 303// GFX1032: v_add_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x0f,0xd7,0x00,0x05,0x02,0x00] 304// GFX1064-ERR: :[[@LINE-2]]:30: error: invalid operand for instruction 305 306v_add_co_ci_u32_e64 v4, s0, v1, v5, s2 307// GFX1032: v_add_co_ci_u32_e64 v4, s0, v1, v5, s2 ; encoding: [0x04,0x00,0x28,0xd5,0x01,0x0b,0x0a,0x00] 308// GFX1064-ERR: :[[@LINE-2]]:25: error: invalid operand for instruction 309 310v_sub_co_u32 v0, s0, v0, v2 311// GFX1032: v_sub_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x10,0xd7,0x00,0x05,0x02,0x00] 312// GFX1064-ERR: :[[@LINE-2]]:26: error: invalid operand for instruction 313 314v_sub_co_u32_e64 v0, s0, v0, v2 315// GFX1032: v_sub_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x10,0xd7,0x00,0x05,0x02,0x00] 316// GFX1064-ERR: :[[@LINE-2]]:30: error: invalid operand for instruction 317 318v_sub_co_ci_u32_e64 v4, s0, v1, v5, s2 319// GFX1032: v_sub_co_ci_u32_e64 v4, s0, v1, v5, s2 ; encoding: [0x04,0x00,0x29,0xd5,0x01,0x0b,0x0a,0x00] 320// GFX1064-ERR: :[[@LINE-2]]:25: error: invalid operand for instruction 321 322v_subrev_co_u32 v0, s0, v0, v2 323// GFX1032: v_subrev_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x19,0xd7,0x00,0x05,0x02,0x00] 324// GFX1064-ERR: :[[@LINE-2]]:29: error: invalid operand for instruction 325 326v_subrev_co_u32_e64 v0, s0, v0, v2 327// GFX1032: v_subrev_co_u32_e64 v0, s0, v0, v2 ; encoding: [0x00,0x00,0x19,0xd7,0x00,0x05,0x02,0x00] 328// GFX1064-ERR: :[[@LINE-2]]:33: error: invalid operand for instruction 329 330v_subrev_co_ci_u32_e64 v4, s0, v1, v5, s2 331// GFX1032: v_subrev_co_ci_u32_e64 v4, s0, v1, v5, s2 ; encoding: [0x04,0x00,0x2a,0xd5,0x01,0x0b,0x0a,0x00] 332// GFX1064-ERR: :[[@LINE-2]]:28: error: invalid operand for instruction 333 334v_add_co_u32 v0, s[0:1], v0, v2 335// GFX1032-ERR: :[[@LINE-1]]:18: error: invalid operand for instruction 336// GFX1064: v_add_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x0f,0xd7,0x00,0x05,0x02,0x00] 337 338v_add_co_u32_e64 v0, s[0:1], v0, v2 339// GFX1032-ERR: :[[@LINE-1]]:22: error: invalid operand for instruction 340// GFX1064: v_add_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x0f,0xd7,0x00,0x05,0x02,0x00] 341 342v_add_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] 343// GFX1032-ERR: :[[@LINE-1]]:25: error: invalid operand for instruction 344// GFX1064: v_add_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] ; encoding: [0x04,0x00,0x28,0xd5,0x01,0x0b,0x0a,0x00] 345 346v_sub_co_u32 v0, s[0:1], v0, v2 347// GFX1032-ERR: :[[@LINE-1]]:18: error: invalid operand for instruction 348// GFX1064: v_sub_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x10,0xd7,0x00,0x05,0x02,0x00] 349 350v_sub_co_u32_e64 v0, s[0:1], v0, v2 351// GFX1032-ERR: :[[@LINE-1]]:22: error: invalid operand for instruction 352// GFX1064: v_sub_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x10,0xd7,0x00,0x05,0x02,0x00] 353 354v_sub_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] 355// GFX1032-ERR: :[[@LINE-1]]:25: error: invalid operand for instruction 356// GFX1064: v_sub_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] ; encoding: [0x04,0x00,0x29,0xd5,0x01,0x0b,0x0a,0x00] 357 358v_subrev_co_u32 v0, s[0:1], v0, v2 359// GFX1032-ERR: :[[@LINE-1]]:21: error: invalid operand for instruction 360// GFX1064: v_subrev_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x19,0xd7,0x00,0x05,0x02,0x00] 361 362v_subrev_co_u32_e64 v0, s[0:1], v0, v2 363// GFX1032-ERR: :[[@LINE-1]]:25: error: invalid operand for instruction 364// GFX1064: v_subrev_co_u32_e64 v0, s[0:1], v0, v2 ; encoding: [0x00,0x00,0x19,0xd7,0x00,0x05,0x02,0x00] 365 366v_subrev_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] 367// GFX1032-ERR: :[[@LINE-1]]:28: error: invalid operand for instruction 368// GFX1064: v_subrev_co_ci_u32_e64 v4, s[0:1], v1, v5, s[2:3] ; encoding: [0x04,0x00,0x2a,0xd5,0x01,0x0b,0x0a,0x00] 369 370v_add_co_ci_u32_e64 v4, vcc_lo, v1, v5, s2 371// GFX1032: v_add_co_ci_u32_e64 v4, vcc_lo, v1, v5, s2 ; encoding: [0x04,0x6a,0x28,0xd5,0x01,0x0b,0x0a,0x00] 372// GFX1064-ERR: :[[@LINE-2]]:41: error: invalid operand for instruction 373 374v_add_co_ci_u32_e64 v4, vcc, v1, v5, s[2:3] 375// GFX1032-ERR: :[[@LINE-1]]:38: error: invalid operand for instruction 376// GFX1064: v_add_co_ci_u32_e64 v4, vcc, v1, v5, s[2:3] ; encoding: [0x04,0x6a,0x28,0xd5,0x01,0x0b,0x0a,0x00] 377 378v_add_co_ci_u32_e64 v4, s0, v1, v5, vcc_lo 379// GFX1032: v_add_co_ci_u32_e64 v4, s0, v1, v5, vcc_lo ; encoding: [0x04,0x00,0x28,0xd5,0x01,0x0b,0xaa,0x01] 380// GFX1064-ERR: :[[@LINE-2]]:25: error: invalid operand for instruction 381 382v_add_co_ci_u32_e64 v4, s[0:1], v1, v5, vcc 383// GFX1032-ERR: :[[@LINE-1]]:25: error: invalid operand for instruction 384// GFX1064: v_add_co_ci_u32_e64 v4, s[0:1], v1, v5, vcc ; encoding: [0x04,0x00,0x28,0xd5,0x01,0x0b,0xaa,0x01] 385 386v_div_scale_f32 v2, s2, v0, v0, v2 387// GFX1032: v_div_scale_f32 v2, s2, v0, v0, v2 ; encoding: [0x02,0x02,0x6d,0xd5,0x00,0x01,0x0a,0x04] 388// GFX1064-ERR: :[[@LINE-2]]:21: error: invalid operand for instruction 389 390v_div_scale_f32 v2, s[2:3], v0, v0, v2 391// GFX1032-ERR: :[[@LINE-1]]:21: error: invalid operand for instruction 392// GFX1064: v_div_scale_f32 v2, s[2:3], v0, v0, v2 ; encoding: [0x02,0x02,0x6d,0xd5,0x00,0x01,0x0a,0x04] 393 394v_div_scale_f64 v[2:3], s2, v[0:1], v[0:1], v[2:3] 395// GFX1032: v_div_scale_f64 v[2:3], s2, v[0:1], v[0:1], v[2:3] ; encoding: [0x02,0x02,0x6e,0xd5,0x00,0x01,0x0a,0x04] 396// GFX1064-ERR: :[[@LINE-2]]:25: error: invalid operand for instruction 397 398v_div_scale_f64 v[2:3], s[2:3], v[0:1], v[0:1], v[2:3] 399// GFX1032-ERR: :[[@LINE-1]]:25: error: invalid operand for instruction 400// GFX1064: v_div_scale_f64 v[2:3], s[2:3], v[0:1], v[0:1], v[2:3] ; encoding: [0x02,0x02,0x6e,0xd5,0x00,0x01,0x0a,0x04] 401 402v_mad_i64_i32 v[0:1], s6, v0, v1, v[2:3] 403// GFX1032: v_mad_i64_i32 v[0:1], s6, v0, v1, v[2:3] ; encoding: [0x00,0x06,0x77,0xd5,0x00,0x03,0x0a,0x04] 404// GFX1064-ERR: :[[@LINE-2]]:23: error: invalid operand for instruction 405 406v_mad_i64_i32 v[0:1], s[6:7], v0, v1, v[2:3] 407// GFX1032-ERR: :[[@LINE-1]]:23: error: invalid operand for instruction 408// GFX1064: v_mad_i64_i32 v[0:1], s[6:7], v0, v1, v[2:3] ; encoding: [0x00,0x06,0x77,0xd5,0x00,0x03,0x0a,0x04] 409 410v_mad_u64_u32 v[0:1], s6, v0, v1, v[2:3] 411// GFX1032: v_mad_u64_u32 v[0:1], s6, v0, v1, v[2:3] ; encoding: [0x00,0x06,0x76,0xd5,0x00,0x03,0x0a,0x04] 412// GFX1064-ERR: :[[@LINE-2]]:23: error: invalid operand for instruction 413 414v_mad_u64_u32 v[0:1], s[6:7], v0, v1, v[2:3] 415// GFX1032-ERR: :[[@LINE-1]]:23: error: invalid operand for instruction 416// GFX1064: v_mad_u64_u32 v[0:1], s[6:7], v0, v1, v[2:3] ; encoding: [0x00,0x06,0x76,0xd5,0x00,0x03,0x0a,0x04] 417 418v_cmpx_neq_f32_e32 v0, v1 419// GFX1032: v_cmpx_neq_f32_e32 v0, v1 ; encoding: [0x00,0x03,0x3a,0x7c] 420// GFX1064: v_cmpx_neq_f32_e32 v0, v1 ; encoding: [0x00,0x03,0x3a,0x7c] 421 422v_cmpx_neq_f32_sdwa v0, v1 src0_sel:WORD_1 src1_sel:DWORD 423// GFX1032: v_cmpx_neq_f32_sdwa v0, v1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0x3a,0x7c,0x00,0x00,0x05,0x06] 424// GFX1064: v_cmpx_neq_f32_sdwa v0, v1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0x3a,0x7c,0x00,0x00,0x05,0x06] 425 426v_cmpx_eq_u32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD 427// GFX1032: v_cmpx_eq_u32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0xa5,0x7d,0x00,0x00,0x05,0x86] 428// GFX1064: v_cmpx_eq_u32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0xa5,0x7d,0x00,0x00,0x05,0x86] 429 430v_cmpx_class_f32_e64 v0, 1 431// GFX1032: v_cmpx_class_f32_e64 v0, 1 ; encoding: [0x00,0x00,0x98,0xd4,0x00,0x03,0x01,0x00] 432// GFX1064: v_cmpx_class_f32_e64 v0, 1 ; encoding: [0x00,0x00,0x98,0xd4,0x00,0x03,0x01,0x00] 433 434v_cmpx_class_f32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD 435// GFX1032: v_cmpx_class_f32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0x31,0x7d,0x00,0x00,0x05,0x86] 436// GFX1064: v_cmpx_class_f32_sdwa v0, 1 src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0x31,0x7d,0x00,0x00,0x05,0x86] 437