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