[InstCombine] Signed saturation tests. NFC
[llvm-complete.git] / test / MC / Disassembler / AMDGPU / sdwa_gfx9.txt
blob02d7a32f696ebe2f9498a9d1fe4fa7e8aeaf1c70
1 # RUN: llvm-mc -arch=amdgcn -mcpu=gfx900 -disassemble -show-encoding < %s | FileCheck %s -check-prefix=GFX9
3 #-----------------------------------------------------------------------------#
4 # Input modifiers
5 #-----------------------------------------------------------------------------#
7 # GFX9: v_fract_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x25,0x00]
8 0xf9 0x36 0x00 0x7e 0x00 0x06 0x25 0x00
10 # GFX9: v_sin_f32_sdwa v0, -|v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x35,0x00]
11 0xf9 0x52 0x00 0x7e 0x00 0x06 0x35 0x00
13 # GFX9: v_add_f32_sdwa v0, -|v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x35,0x12]
14 0xf9 0x00 0x00 0x02 0x00 0x06 0x35 0x12
16 # GFX9: v_min_f32_sdwa v0, |v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x25,0x12]
17 0xf9 0x00 0x00 0x14 0x00 0x06 0x25 0x12
19 #-----------------------------------------------------------------------------#
20 # VOP1
21 #-----------------------------------------------------------------------------#
23 # GFX9: v_mov_b32_sdwa v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x02,0x10,0x06,0x00]
24 0xf9 0x02 0x02 0x7e 0x02 0x10 0x06 0x00
26 # GFX9: v_mov_b32_sdwa v3, v4 dst_sel:BYTE_1 dst_unused:UNUSED_PRESERVE src0_sel:WORD_1 ; encoding: [0xf9,0x02,0x06,0x7e,0x04,0x11,0x05,0x00]
27 0xf9 0x02 0x06 0x7e 0x04 0x11 0x05 0x00
29 # GFX9: v_mov_b32_sdwa v15, v99 dst_sel:BYTE_2 dst_unused:UNUSED_SEXT src0_sel:WORD_0 ; encoding: [0xf9,0x02,0x1e,0x7e,0x63,0x0a,0x04,0x00]
30 0xf9 0x02 0x1e 0x7e 0x63 0x0a 0x04 0x00
32 # GFX9: v_min_u32_sdwa v194, v13, v1 dst_sel:BYTE_3 dst_unused:UNUSED_SEXT src0_sel:BYTE_3 src1_sel:BYTE_2 ; encoding: [0xf9,0x02,0x84,0x1d,0x0d,0x0b,0x03,0x02]
33 0xf9 0x02 0x84 0x1d 0x0d 0x0b 0x03 0x02
35 # GFX9: v_min_u32_sdwa v255, v4, v1 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:WORD_1 ; encoding: [0xf9,0x02,0xfe,0x1d,0x04,0x04,0x02,0x05]
36 0xf9 0x02 0xfe 0x1d 0x04 0x04 0x02 0x05
38 # GFX9: v_min_u32_sdwa v200, v200, v1 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x02,0x90,0x1d,0xc8,0x05,0x01,0x06]
39 0xf9 0x02 0x90 0x1d 0xc8 0x05 0x01 0x06
41 # GFX9: v_min_u32_sdwa v1, v1, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x1c,0x01,0x06,0x00,0x06]
42 0xf9 0x02 0x02 0x1c 0x01 0x06 0x00 0x06
44 # GFX9: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x16,0x06,0x00]
45 0xf9 0x0e 0x00 0x7e 0x00 0x16 0x06 0x00
47 # GFX9: v_fract_f32_sdwa v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x26,0x06,0x00]
48 0xf9 0x36 0x00 0x7e 0x00 0x26 0x06 0x00
50 # GFX9: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x05,0x00]
51 0xf9 0x52 0x00 0x7e 0x00 0x06 0x05 0x00
53 # GFX9: v_mov_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:WORD_1 ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x16,0x05,0x00]
54 0xf9 0x02 0x02 0x7e 0x00 0x16 0x05 0x00
56 # GFX9: v_trunc_f32_sdwa v1, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:WORD_1 ; encoding: [0xf9,0x38,0x02,0x7e,0x00,0x36,0x05,0x00]
57 0xf9 0x38 0x02 0x7e 0x00 0x36 0x05 0x00
59 # GFX9: v_mov_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x16,0x06,0x00]
60 0xf9 0x02 0x02 0x7e 0x00 0x16 0x06 0x00
62 # GFX9: v_nop ; encoding: [0xf9,0x00,0x00,0x7e,0x00,0x00,0x00,0x00]
63 0xf9 0x00 0x00 0x7e 0x00 0x00 0x00 0x00
65 # GFX9: v_cvt_u32_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0e,0x00,0x7e,0x00,0x06,0x05,0x00]
66 0xf9 0x0e 0x00 0x7e 0x00 0x06 0x05 0x00
68 # GFX9: v_fract_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x05,0x00]
69 0xf9 0x36 0x00 0x7e 0x00 0x06 0x05 0x00
71 # GFX9: v_sin_f32_sdwa v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x05,0x00]
72 0xf9 0x52 0x00 0x7e 0x00 0x06 0x05 0x00
74 # GFX9: v_mov_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x06,0x05,0x00]
75 0xf9 0x02 0x02 0x7e 0x00 0x06 0x05 0x00
77 # GFX9: v_cvt_f32_i32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0a,0x02,0x7e,0x00,0x06,0x05,0x00]
78 0xf9 0x0a 0x02 0x7e 0x00 0x06 0x05 0x00
80 # GFX9: v_cvt_f32_u32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x0c,0x02,0x7e,0x00,0x06,0x05,0x00]
81 0xf9 0x0c 0x02 0x7e 0x00 0x06 0x05 0x00
83 # GFX9: v_cvt_i32_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x10,0x02,0x7e,0x00,0x06,0x05,0x00]
84 0xf9 0x10 0x02 0x7e 0x00 0x06 0x05 0x00
86 # GFX9: v_cvt_f16_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x14,0x02,0x7e,0x00,0x06,0x05,0x00]
87 0xf9 0x14 0x02 0x7e 0x00 0x06 0x05 0x00
89 # GFX9: v_cvt_f32_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x16,0x02,0x7e,0x00,0x06,0x05,0x00]
90 0xf9 0x16 0x02 0x7e 0x00 0x06 0x05 0x00
92 # GFX9: v_cvt_rpi_i32_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x18,0x02,0x7e,0x00,0x06,0x05,0x00]
93 0xf9 0x18 0x02 0x7e 0x00 0x06 0x05 0x00
95 # GFX9: v_cvt_flr_i32_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1a,0x02,0x7e,0x00,0x06,0x05,0x00]
96 0xf9 0x1a 0x02 0x7e 0x00 0x06 0x05 0x00
98 # GFX9: v_cvt_off_f32_i4_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x1c,0x02,0x7e,0x00,0x06,0x05,0x00]
99 0xf9 0x1c 0x02 0x7e 0x00 0x06 0x05 0x00
101 # GFX9: v_cvt_f32_ubyte0_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x22,0x02,0x7e,0x00,0x06,0x05,0x00]
102 0xf9 0x22 0x02 0x7e 0x00 0x06 0x05 0x00
104 # GFX9: v_cvt_f32_ubyte1_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x24,0x02,0x7e,0x00,0x06,0x05,0x00]
105 0xf9 0x24 0x02 0x7e 0x00 0x06 0x05 0x00
107 # GFX9: v_cvt_f32_ubyte2_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x26,0x02,0x7e,0x00,0x06,0x05,0x00]
108 0xf9 0x26 0x02 0x7e 0x00 0x06 0x05 0x00
110 # GFX9: v_cvt_f32_ubyte3_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x28,0x02,0x7e,0x00,0x06,0x05,0x00]
111 0xf9 0x28 0x02 0x7e 0x00 0x06 0x05 0x00
113 # GFX9: v_trunc_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x38,0x02,0x7e,0x00,0x06,0x05,0x00]
114 0xf9 0x38 0x02 0x7e 0x00 0x06 0x05 0x00
116 # GFX9: v_ceil_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3a,0x02,0x7e,0x00,0x06,0x05,0x00]
117 0xf9 0x3a 0x02 0x7e 0x00 0x06 0x05 0x00
119 # GFX9: v_rndne_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3c,0x02,0x7e,0x00,0x06,0x05,0x00]
120 0xf9 0x3c 0x02 0x7e 0x00 0x06 0x05 0x00
122 # GFX9: v_floor_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x3e,0x02,0x7e,0x00,0x06,0x05,0x00]
123 0xf9 0x3e 0x02 0x7e 0x00 0x06 0x05 0x00
125 # GFX9: v_exp_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x40,0x02,0x7e,0x00,0x06,0x05,0x00]
126 0xf9 0x40 0x02 0x7e 0x00 0x06 0x05 0x00
128 # GFX9: v_log_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x42,0x02,0x7e,0x00,0x06,0x05,0x00]
129 0xf9 0x42 0x02 0x7e 0x00 0x06 0x05 0x00
131 # GFX9: v_rcp_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x44,0x02,0x7e,0x00,0x06,0x05,0x00]
132 0xf9 0x44 0x02 0x7e 0x00 0x06 0x05 0x00
134 # GFX9: v_rcp_iflag_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x46,0x02,0x7e,0x00,0x06,0x05,0x00]
135 0xf9 0x46 0x02 0x7e 0x00 0x06 0x05 0x00
137 # GFX9: v_rsq_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x48,0x02,0x7e,0x00,0x06,0x05,0x00]
138 0xf9 0x48 0x02 0x7e 0x00 0x06 0x05 0x00
140 # GFX9: v_sqrt_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x4e,0x02,0x7e,0x00,0x06,0x05,0x00]
141 0xf9 0x4e 0x02 0x7e 0x00 0x06 0x05 0x00
143 # GFX9: v_cos_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x54,0x02,0x7e,0x00,0x06,0x05,0x00]
144 0xf9 0x54 0x02 0x7e 0x00 0x06 0x05 0x00
146 # GFX9: v_not_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x56,0x02,0x7e,0x00,0x06,0x05,0x00]
147 0xf9 0x56 0x02 0x7e 0x00 0x06 0x05 0x00
149 # GFX9: v_bfrev_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x58,0x02,0x7e,0x00,0x06,0x05,0x00]
150 0xf9 0x58 0x02 0x7e 0x00 0x06 0x05 0x00
152 # GFX9: v_ffbh_u32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5a,0x02,0x7e,0x00,0x06,0x05,0x00]
153 0xf9 0x5a 0x02 0x7e 0x00 0x06 0x05 0x00
155 # GFX9: v_ffbl_b32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5c,0x02,0x7e,0x00,0x06,0x05,0x00]
156 0xf9 0x5c 0x02 0x7e 0x00 0x06 0x05 0x00
158 # GFX9: v_ffbh_i32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x5e,0x02,0x7e,0x00,0x06,0x05,0x00]
159 0xf9 0x5e 0x02 0x7e 0x00 0x06 0x05 0x00
161 # GFX9: v_frexp_exp_i32_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x66,0x02,0x7e,0x00,0x06,0x05,0x00]
162 0xf9 0x66 0x02 0x7e 0x00 0x06 0x05 0x00
164 # GFX9: v_frexp_mant_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x68,0x02,0x7e,0x00,0x06,0x05,0x00]
165 0xf9 0x68 0x02 0x7e 0x00 0x06 0x05 0x00
167 # GFX9: v_log_legacy_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x98,0x02,0x7e,0x00,0x06,0x05,0x00]
168 0xf9 0x98 0x02 0x7e 0x00 0x06 0x05 0x00
170 # GFX9: v_exp_legacy_f32_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x96,0x02,0x7e,0x00,0x06,0x05,0x00]
171 0xf9 0x96 0x02 0x7e 0x00 0x06 0x05 0x00
173 # GFX9: v_cvt_f16_u16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x72,0x02,0x7e,0x00,0x06,0x05,0x00]
174 0xf9 0x72 0x02 0x7e 0x00 0x06 0x05 0x00
176 # GFX9: v_cvt_f16_i16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x74,0x02,0x7e,0x00,0x06,0x05,0x00]
177 0xf9 0x74 0x02 0x7e 0x00 0x06 0x05 0x00
179 # GFX9: v_cvt_u16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x76,0x02,0x7e,0x00,0x06,0x05,0x00]
180 0xf9 0x76 0x02 0x7e 0x00 0x06 0x05 0x00
182 # GFX9: v_cvt_i16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x78,0x02,0x7e,0x00,0x06,0x05,0x00]
183 0xf9 0x78 0x02 0x7e 0x00 0x06 0x05 0x00
185 # GFX9: v_rcp_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7a,0x02,0x7e,0x00,0x06,0x05,0x00]
186 0xf9 0x7a 0x02 0x7e 0x00 0x06 0x05 0x00
188 # GFX9: v_sqrt_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7c,0x02,0x7e,0x00,0x06,0x05,0x00]
189 0xf9 0x7c 0x02 0x7e 0x00 0x06 0x05 0x00
191 # GFX9: v_rsq_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x7e,0x02,0x7e,0x00,0x06,0x05,0x00]
192 0xf9 0x7e 0x02 0x7e 0x00 0x06 0x05 0x00
194 # GFX9: v_log_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x80,0x02,0x7e,0x00,0x06,0x05,0x00]
195 0xf9 0x80 0x02 0x7e 0x00 0x06 0x05 0x00
197 # GFX9: v_exp_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x82,0x02,0x7e,0x00,0x06,0x05,0x00]
198 0xf9 0x82 0x02 0x7e 0x00 0x06 0x05 0x00
200 # GFX9: v_frexp_mant_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x84,0x02,0x7e,0x00,0x06,0x05,0x00]
201 0xf9 0x84 0x02 0x7e 0x00 0x06 0x05 0x00
203 # GFX9: v_frexp_exp_i16_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x86,0x02,0x7e,0x00,0x06,0x05,0x00]
204 0xf9 0x86 0x02 0x7e 0x00 0x06 0x05 0x00
206 # GFX9: v_floor_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x88,0x02,0x7e,0x00,0x06,0x05,0x00]
207 0xf9 0x88 0x02 0x7e 0x00 0x06 0x05 0x00
209 # GFX9: v_ceil_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8a,0x02,0x7e,0x00,0x06,0x05,0x00]
210 0xf9 0x8a 0x02 0x7e 0x00 0x06 0x05 0x00
212 # GFX9: v_trunc_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8c,0x02,0x7e,0x00,0x06,0x05,0x00]
213 0xf9 0x8c 0x02 0x7e 0x00 0x06 0x05 0x00
215 # GFX9: v_rndne_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x8e,0x02,0x7e,0x00,0x06,0x05,0x00]
216 0xf9 0x8e 0x02 0x7e 0x00 0x06 0x05 0x00
218 # GFX9: v_fract_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x90,0x02,0x7e,0x00,0x06,0x05,0x00]
219 0xf9 0x90 0x02 0x7e 0x00 0x06 0x05 0x00
221 # GFX9: v_sin_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x92,0x02,0x7e,0x00,0x06,0x05,0x00]
222 0xf9 0x92 0x02 0x7e 0x00 0x06 0x05 0x00
224 # GFX9: v_cos_f16_sdwa v1, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x94,0x02,0x7e,0x00,0x06,0x05,0x00]
225 0xf9 0x94 0x02 0x7e 0x00 0x06 0x05 0x00
227 # GFX9: v_cvt_norm_i16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x05,0x00]
228 0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x05,0x00
230 # GFX9: v_cvt_norm_i16_f16_sdwa v5, -v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x16,0x00]
231 0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x16,0x00
233 # GFX9: v_cvt_norm_i16_f16_sdwa v5, |v1| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x26,0x00]
234 0xf9,0x9a,0x0a,0x7e,0x01,0x06,0x26,0x00
236 # GFX9: v_cvt_norm_u16_f16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x9c,0x0a,0x7e,0x01,0x16,0x06,0x00]
237 0xf9,0x9c,0x0a,0x7e,0x01,0x16,0x06,0x00
239 # GFX9: v_sat_pk_u8_i16_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x9e,0x0a,0x7e,0x01,0x06,0x05,0x00]
240 0xf9,0x9e,0x0a,0x7e,0x01,0x06,0x05,0x00
242 # GFX9: v_sat_pk_u8_i16_sdwa v5, sext(v1) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD ; encoding: [0xf9,0x9e,0x0a,0x7e,0x01,0x06,0x0e,0x00]
243 0xf9,0x9e,0x0a,0x7e,0x01,0x06,0x0e,0x00
245 # GFX9: v_screen_partition_4se_b32_sdwa v5, v1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:BYTE_0 ; encoding: [0xf9,0x6e,0x0a,0x7e,0x01,0x16,0x00,0x00]
246 0xf9 0x6e 0x0a 0x7e 0x01 0x16 0x00 0x00
248 #-----------------------------------------------------------------------------#
249 # VOP2
250 #-----------------------------------------------------------------------------#
252 # GFX9: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x05,0x06]
253 0xf9 0x00 0x00 0x02 0x00 0x06 0x05 0x06
255 # GFX9: v_min_f32_sdwa v0, v0, v0 clamp dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x36,0x06,0x02]
256 0xf9 0x00 0x00 0x14 0x00 0x36 0x06 0x02
258 # GFX9: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x06,0x02]
259 0xf9 0x00 0x00 0x26 0x00 0x06 0x06 0x02
261 # GFX9: v_mul_i32_i24_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x06,0x02,0x0c,0x02,0x16,0x06,0x06]
262 0xf9 0x06 0x02 0x0c 0x02 0x16 0x06 0x06
264 # GFX9: v_add_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x05,0x02]
265 0xf9 0x00 0x00 0x02 0x00 0x06 0x05 0x02
267 # GFX9: v_min_f32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x05,0x02]
268 0xf9 0x00 0x00 0x14 0x00 0x06 0x05 0x02
270 # GFX9: v_and_b32_sdwa v0, v0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x05,0x02]
271 0xf9 0x00 0x00 0x26 0x00 0x06 0x05 0x02
273 # GFX9: v_mul_i32_i24_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x0c,0x02,0x06,0x05,0x02]
274 0xf9 0x06 0x02 0x0c 0x02 0x06 0x05 0x02
276 # GFX9: v_sub_f32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x04,0x02,0x06,0x05,0x02]
277 0xf9 0x06 0x02 0x04 0x02 0x06 0x05 0x02
279 # GFX9: v_subrev_f32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x06,0x02,0x06,0x05,0x02]
280 0xf9 0x06 0x02 0x06 0x02 0x06 0x05 0x02
282 # GFX9: v_mul_f32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x0a,0x02,0x06,0x05,0x02]
283 0xf9 0x06 0x02 0x0a 0x02 0x06 0x05 0x02
285 # GFX9: v_mul_hi_i32_i24_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x0e,0x02,0x06,0x05,0x02]
286 0xf9 0x06 0x02 0x0e 0x02 0x06 0x05 0x02
288 # GFX9: v_mul_u32_u24_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x10,0x02,0x06,0x05,0x02]
289 0xf9 0x06 0x02 0x10 0x02 0x06 0x05 0x02
291 # GFX9: v_mul_hi_u32_u24_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x12,0x02,0x06,0x05,0x02]
292 0xf9 0x06 0x02 0x12 0x02 0x06 0x05 0x02
294 # GFX9: v_max_f32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x16,0x02,0x06,0x05,0x02]
295 0xf9 0x06 0x02 0x16 0x02 0x06 0x05 0x02
297 # GFX9: v_min_i32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x18,0x02,0x06,0x05,0x02]
298 0xf9 0x06 0x02 0x18 0x02 0x06 0x05 0x02
300 # GFX9: v_max_i32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x1a,0x02,0x06,0x05,0x02]
301 0xf9 0x06 0x02 0x1a 0x02 0x06 0x05 0x02
303 # GFX9: v_min_u32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x1c,0x02,0x06,0x05,0x02]
304 0xf9 0x06 0x02 0x1c 0x02 0x06 0x05 0x02
306 # GFX9: v_max_u32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x1e,0x02,0x06,0x05,0x02]
307 0xf9 0x06 0x02 0x1e 0x02 0x06 0x05 0x02
309 # GFX9: v_lshrrev_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x20,0x02,0x06,0x05,0x02]
310 0xf9 0x06 0x02 0x20 0x02 0x06 0x05 0x02
312 # GFX9: v_ashrrev_i32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x22,0x02,0x06,0x05,0x02]
313 0xf9 0x06 0x02 0x22 0x02 0x06 0x05 0x02
315 # GFX9: v_lshlrev_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x24,0x02,0x06,0x05,0x02]
316 0xf9 0x06 0x02 0x24 0x02 0x06 0x05 0x02
318 # GFX9: v_or_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x28,0x02,0x06,0x05,0x02]
319 0xf9 0x06 0x02 0x28 0x02 0x06 0x05 0x02
321 # GFX9: v_xor_b32_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x2a,0x02,0x06,0x05,0x02]
322 0xf9 0x06 0x02 0x2a 0x02 0x06 0x05 0x02
324 # GFX9: v_add_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3e,0x02,0x06,0x05,0x02]
325 0xf9 0x06 0x02 0x3e 0x02 0x06 0x05 0x02
327 # GFX9: v_sub_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x40,0x02,0x06,0x05,0x02]
328 0xf9 0x06 0x02 0x40 0x02 0x06 0x05 0x02
330 # GFX9: v_subrev_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x42,0x02,0x06,0x05,0x02]
331 0xf9 0x06 0x02 0x42 0x02 0x06 0x05 0x02
333 # GFX9: v_mul_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x44,0x02,0x06,0x05,0x02]
334 0xf9 0x06 0x02 0x44 0x02 0x06 0x05 0x02
336 # GFX9: v_add_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x4c,0x02,0x06,0x05,0x02]
337 0xf9 0x06 0x02 0x4c 0x02 0x06 0x05 0x02
339 # GFX9: v_sub_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x4e,0x02,0x06,0x05,0x02]
340 0xf9 0x06 0x02 0x4e 0x02 0x06 0x05 0x02
342 # GFX9: v_subrev_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x50,0x02,0x06,0x05,0x02]
343 0xf9 0x06 0x02 0x50 0x02 0x06 0x05 0x02
345 # GFX9: v_mul_lo_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x52,0x02,0x06,0x05,0x02]
346 0xf9 0x06 0x02 0x52 0x02 0x06 0x05 0x02
348 # GFX9: v_lshlrev_b16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x54,0x02,0x06,0x05,0x02]
349 0xf9 0x06 0x02 0x54 0x02 0x06 0x05 0x02
351 # GFX9: v_lshrrev_b16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x56,0x02,0x06,0x05,0x02]
352 0xf9 0x06 0x02 0x56 0x02 0x06 0x05 0x02
354 # GFX9: v_ashrrev_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x58,0x02,0x06,0x05,0x02]
355 0xf9 0x06 0x02 0x58 0x02 0x06 0x05 0x02
357 # GFX9: v_max_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5a,0x02,0x06,0x05,0x02]
358 0xf9 0x06 0x02 0x5a 0x02 0x06 0x05 0x02
360 # GFX9: v_min_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5c,0x02,0x06,0x05,0x02]
361 0xf9 0x06 0x02 0x5c 0x02 0x06 0x05 0x02
363 # GFX9: v_max_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x5e,0x02,0x06,0x05,0x02]
364 0xf9 0x06 0x02 0x5e 0x02 0x06 0x05 0x02
366 # GFX9: v_max_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x60,0x02,0x06,0x05,0x02]
367 0xf9 0x06 0x02 0x60 0x02 0x06 0x05 0x02
369 # GFX9: v_min_u16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x62,0x02,0x06,0x05,0x02]
370 0xf9 0x06 0x02 0x62 0x02 0x06 0x05 0x02
372 # GFX9: v_min_i16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x64,0x02,0x06,0x05,0x02]
373 0xf9 0x06 0x02 0x64 0x02 0x06 0x05 0x02
375 # GFX9: v_ldexp_f16_sdwa v1, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x66,0x02,0x06,0x05,0x02]
376 0xf9 0x06 0x02 0x66 0x02 0x06 0x05 0x02
378 # GFX9: v_add_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x32,0x02,0x06,0x05,0x02]
379 0xf9 0x06 0x02 0x32 0x02 0x06 0x05 0x02
381 # GFX9: v_sub_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x34,0x02,0x06,0x05,0x02]
382 0xf9 0x06 0x02 0x34 0x02 0x06 0x05 0x02
384 # GFX9: v_subrev_co_u32_sdwa v1, vcc, v2, v3 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x36,0x02,0x06,0x05,0x02]
385 0xf9 0x06 0x02 0x36 0x02 0x06 0x05 0x02
387 # GFX9: v_addc_co_u32_sdwa v1, vcc, v2, v3, vcc  dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x38,0x02,0x06,0x05,0x02]
388 0xf9 0x06 0x02 0x38 0x02 0x06 0x05 0x02
390 # GFX9: v_subb_co_u32_sdwa v1, vcc, v2, v3, vcc  dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3a,0x02,0x06,0x05,0x02]
391 0xf9 0x06 0x02 0x3a 0x02 0x06 0x05 0x02
393 # GFX9: v_subbrev_co_u32_sdwa v1, vcc, v2, v3, vcc  dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x06,0x02,0x3c,0x02,0x06,0x05,0x02]
394 0xf9 0x06 0x02 0x3c 0x02 0x06 0x05 0x02
396 # GFX9: v_cndmask_b32_sdwa v5, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x00,0x01,0x00,0x06,0x06]
397 0xf9,0x04,0x0a,0x00,0x01,0x00,0x06,0x06
399 # GFX9: v_cndmask_b32_sdwa v5, -1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x00,0xc1,0x06,0x86,0x06]
400 0xf9,0x04,0x0a,0x00,0xc1,0x06,0x86,0x06
402 # GFX9: v_cndmask_b32_sdwa v5, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x00,0x01,0x06,0x06,0x0e]
403 0xf9,0x04,0x0a,0x00,0x01,0x06,0x06,0x0e
405 #-----------------------------------------------------------------------------#
406 # VOPC
407 #-----------------------------------------------------------------------------#
409 # GFX9: v_cmp_eq_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x02,0x04]
410 0xf9 0x04 0x84 0x7c 0x01 0x00 0x02 0x04
412 # GFX9: v_cmp_nle_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7c,0x01,0x00,0x02,0x04]
413 0xf9 0x04 0x98 0x7c 0x01 0x00 0x02 0x04
415 # GFX9: v_cmpx_gt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa8,0x7c,0x01,0x00,0x02,0x04]
416 0xf9 0x04 0xa8 0x7c 0x01 0x00 0x02 0x04
418 # GFX9: v_cmpx_nlt_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xbc,0x7c,0x01,0x00,0x02,0x04]
419 0xf9 0x04 0xbc 0x7c 0x01 0x00 0x02 0x04
421 # GFX9: v_cmp_lt_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x82,0x7d,0x01,0x00,0x02,0x04]
422 0xf9 0x04 0x82 0x7d 0x01 0x00 0x02 0x04
424 # GFX9: v_cmp_t_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x8e,0x7d,0x01,0x00,0x02,0x04]
425 0xf9 0x04 0x8e 0x7d 0x01 0x00 0x02 0x04
427 # GFX9: v_cmpx_eq_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xa4,0x7d,0x01,0x00,0x02,0x04]
428 0xf9 0x04 0xa4 0x7d 0x01 0x00 0x02 0x04
430 # GFX9: v_cmpx_ne_i32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xaa,0x7d,0x01,0x00,0x02,0x04]
431 0xf9 0x04 0xaa 0x7d 0x01 0x00 0x02 0x04
433 # GFX9: v_cmp_f_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x90,0x7d,0x01,0x00,0x02,0x04]
434 0xf9 0x04 0x90 0x7d 0x01 0x00 0x02 0x04
436 # GFX9: v_cmp_gt_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x98,0x7d,0x01,0x00,0x02,0x04]
437 0xf9 0x04 0x98 0x7d 0x01 0x00 0x02 0x04
439 # GFX9: v_cmpx_le_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xb6,0x7d,0x01,0x00,0x02,0x04]
440 0xf9 0x04 0xb6 0x7d 0x01 0x00 0x02 0x04
442 # GFX9: v_cmpx_ne_u32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0xba,0x7d,0x01,0x00,0x02,0x04]
443 0xf9 0x04 0xba 0x7d 0x01 0x00 0x02 0x04
445 # GFX9: v_cmp_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x02,0x04]
446 0xf9 0x04 0x20 0x7c 0x01 0x00 0x02 0x04
448 # GFX9: v_cmpx_class_f32_sdwa vcc, v1, v2 src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x22,0x7c,0x01,0x00,0x02,0x04]
449 0xf9 0x04 0x22 0x7c 0x01 0x00 0x02 0x04
451 #-----------------------------------------------------------------------------#
452 # Modifiers
453 #-----------------------------------------------------------------------------#
455 # GFX9: v_fract_f32_sdwa v0, |v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x36,0x00,0x7e,0x00,0x06,0x25,0x00]
456 0xf9 0x36 0x00 0x7e 0x00 0x06 0x25 0x00
458 # GFX9: v_sin_f32_sdwa v0, -|v0| dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 ; encoding: [0xf9,0x52,0x00,0x7e,0x00,0x06,0x35,0x00]
459 0xf9 0x52 0x00 0x7e 0x00 0x06 0x35 0x00
461 # GFX9: v_add_f32_sdwa v0, -|v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x35,0x12]
462 0xf9 0x00 0x00 0x02 0x00 0x06 0x35 0x12
464 # GFX9: v_min_f32_sdwa v0, |v0|, -v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x14,0x00,0x06,0x25,0x12]
465 0xf9 0x00 0x00 0x14 0x00 0x06 0x25 0x12
467 # GFX9: v_mov_b32_sdwa v1, sext(v0) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x00,0x16,0x0e,0x00]
468 0xf9 0x02 0x02 0x7e 0x00 0x16 0x0e 0x00
470 # GFX9: v_and_b32_sdwa v0, sext(v0), sext(v0) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x26,0x00,0x06,0x0e,0x0a]
471 0xf9 0x00 0x00 0x26 0x00 0x06 0x0e 0x0a
473 # GFX9: v_cmp_class_f32_sdwa vcc, -v1, sext(v2) src0_sel:BYTE_2 src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x20,0x7c,0x01,0x00,0x12,0x0c]
474 0xf9 0x04 0x20 0x7c 0x01 0x00 0x12 0x0c
476 #===------------------------------------------------------------------------===#
477 # Scalar registers are allowed
478 #===------------------------------------------------------------------------===#
480 # GFX9: v_mov_b32_sdwa v1, s2 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x02,0x10,0x86,0x00]
481 0xf9 0x02 0x02 0x7e 0x02 0x10 0x86 0x00
483 # GFX9: v_mov_b32_sdwa v1, ttmp12 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x78,0x10,0x86,0x00]
484 0xf9,0x02,0x02,0x7e,0x78,0x10,0x86,0x00
486 # GFX9: v_mov_b32_sdwa v1, exec_lo dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x02,0x02,0x7e,0x7e,0x10,0x86,0x00]
487 0xf9 0x02 0x02 0x7e 0x7e 0x10 0x86 0x00
489 # GFX9: v_add_f32_sdwa v0, s0, v0 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x06,0x85,0x02]
490 0xf9 0x00 0x00 0x02 0x00 0x06 0x85 0x02
492 # GFX9: v_add_f32_sdwa v0, v0, s22 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x2c,0x00,0x02,0x00,0x06,0x05,0x82]
493 0xf9 0x2c 0x00 0x02 0x00 0x06 0x05 0x82
495 # GFX9: v_cmp_eq_f32_sdwa vcc, s1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x00,0x85,0x02]
496 0xf9 0x04 0x84 0x7c 0x01 0x00 0x85 0x02
498 # GFX9: v_cmp_eq_f32_sdwa vcc, v1, s22 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x2c,0x84,0x7c,0x01,0x00,0x05,0x82]
499 0xf9 0x2c 0x84 0x7c 0x01 0x00 0x05 0x82
501 # GFX9: v_cmp_eq_f32_sdwa vcc, v1, ttmp15 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0xf6,0x84,0x7c,0x01,0x00,0x05,0x82]
502 0xf9,0xf6,0x84,0x7c,0x01,0x00,0x05,0x82
504 #===------------------------------------------------------------------------===#
505 # VOPC with arbitrary SGPR destination
506 #===------------------------------------------------------------------------===#
508 # GFX9: v_cmp_eq_f32_sdwa s[2:3], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0x82,0x05,0x02]
509 0xf9 0x04 0x84 0x7c 0x01 0x82 0x05 0x02
511 # GFX9: v_cmp_eq_f32_sdwa ttmp[12:13], v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0xf8,0x05,0x02]
512 0xf9,0x04,0x84,0x7c,0x01,0xf8,0x05,0x02
514 # GFX9: v_cmp_eq_f32_sdwa exec, v1, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x01,0xfe,0x05,0x02]
515 0xf9 0x04 0x84 0x7c 0x01 0xfe 0x05 0x02
517 # GFX9: v_cmp_eq_f32_sdwa exec, s2, v2 src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x84,0x7c,0x02,0xfe,0x85,0x02]
518 0xf9 0x04 0x84 0x7c 0x02 0xfe 0x85 0x02
520 #===------------------------------------------------------------------------===#
521 # Inline constants
522 #===------------------------------------------------------------------------===#
524 # GFX9: v_mov_b32_sdwa v5, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x02,0x0a,0x7e,0xc1,0x16,0x86,0x00]
525 0xf9,0x02,0x0a,0x7e,0xc1,0x16,0x86,0x00
527 # GFX9: v_mov_b32_sdwa v5, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x02,0x0a,0x7e,0xc1,0x16,0x8e,0x00]
528 0xf9,0x02,0x0a,0x7e,0xc1,0x16,0x8e,0x00
530 # GFX9: v_mov_b32_sdwa v5, 0.5 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x02,0x0a,0x7e,0xf0,0x16,0x86,0x00]
531 0xf9,0x02,0x0a,0x7e,0xf0,0x16,0x86,0x00
533 # GFX9: v_mov_b32_sdwa v5, sext(0.5) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x02,0x0a,0x7e,0xf0,0x16,0x8e,0x00]
534 0xf9,0x02,0x0a,0x7e,0xf0,0x16,0x8e,0x00
536 # GFX9: v_add_f32_sdwa v5, -4.0, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0x86,0x06]
537 0xf9,0x04,0x0a,0x02,0xf7,0x16,0x86,0x06
539 # GFX9: v_add_f32_sdwa v5, |-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0xa6,0x06]
540 0xf9,0x04,0x0a,0x02,0xf7,0x16,0xa6,0x06
542 # GFX9: v_add_f32_sdwa v5, neg(-4.0), v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0x96,0x06]
543 0xf9,0x04,0x0a,0x02,0xf7,0x16,0x96,0x06
545 # GFX9: v_add_f32_sdwa v5, -|-4.0|, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x0a,0x02,0xf7,0x16,0xb6,0x06]
546 0xf9,0x04,0x0a,0x02,0xf7,0x16,0xb6,0x06
548 # GFX9: v_add_f32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x86]
549 0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x86
551 # GFX9: v_add_f32_sdwa v5, v2, |-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xa6]
552 0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xa6
554 # GFX9: v_add_f32_sdwa v5, v2, neg(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x96]
555 0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0x96
557 # GFX9: v_add_f32_sdwa v5, v2, -|-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xb6]
558 0xf9,0x82,0x0b,0x02,0x02,0x16,0x06,0xb6
560 # GFX9: v_and_b32_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x86]
561 0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x86
563 # GFX9: v_and_b32_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x8e]
564 0xf9,0x82,0x0b,0x26,0x02,0x16,0x06,0x8e
566 # GFX9: v_exp_f16_sdwa v5, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x86,0x00]
567 0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x86,0x00
569 # GFX9: v_exp_f16_sdwa v5, |-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xa6,0x00]
570 0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xa6,0x00
572 # GFX9: v_exp_f16_sdwa v5, neg(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x96,0x00]
573 0xf9,0x82,0x0a,0x7e,0xc1,0x16,0x96,0x00
575 # GFX9: v_exp_f16_sdwa v5, -|-1| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xb6,0x00]
576 0xf9,0x82,0x0a,0x7e,0xc1,0x16,0xb6,0x00
578 # GFX9: v_exp_f16_sdwa v5, 0.5 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x86,0x00]
579 0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x86,0x00
581 # GFX9: v_exp_f16_sdwa v5, |0.5| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xa6,0x00]
582 0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xa6,0x00
584 # GFX9: v_exp_f16_sdwa v5, neg(0.5) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x96,0x00]
585 0xf9,0x82,0x0a,0x7e,0xf0,0x16,0x96,0x00
587 # GFX9: v_exp_f16_sdwa v5, -|0.5| dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD    ; encoding: [0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xb6,0x00]
588 0xf9,0x82,0x0a,0x7e,0xf0,0x16,0xb6,0x00
590 # GFX9: v_max_i16_sdwa v5, v2, -1 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x86]
591 0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x86
593 # GFX9: v_max_i16_sdwa v5, v2, sext(-1) dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x8e]
594 0xf9,0x82,0x0b,0x60,0x02,0x16,0x06,0x8e
596 # GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, -1 src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x86]
597 0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x86
599 # GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, |-1| src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xa6]
600 0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xa6
602 # GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, neg(-1) src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x96]
603 0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0x96
605 # GFX9: v_cmp_eq_f32_sdwa s[6:7], v2, -|-1| src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xb6]
606 0xf9,0x82,0x85,0x7c,0x02,0x86,0x06,0xb6
608 # GFX9: v_cmp_eq_f32_sdwa s[6:7], -4.0, v2 src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0x86,0x06]
609 0xf9,0x04,0x84,0x7c,0xf7,0x86,0x86,0x06
611 # GFX9: v_cmp_eq_f32_sdwa s[6:7], |-4.0|, v2 src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0xa6,0x06]
612 0xf9,0x04,0x84,0x7c,0xf7,0x86,0xa6,0x06
614 # GFX9: v_cmp_eq_f32_sdwa s[6:7], neg(-4.0), v2 src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0x96,0x06]
615 0xf9,0x04,0x84,0x7c,0xf7,0x86,0x96,0x06
617 # GFX9: v_cmp_eq_f32_sdwa s[6:7], -|-4.0|, v2 src0_sel:DWORD src1_sel:DWORD    ; encoding: [0xf9,0x04,0x84,0x7c,0xf7,0x86,0xb6,0x06]
618 0xf9,0x04,0x84,0x7c,0xf7,0x86,0xb6,0x06
620 #===------------------------------------------------------------------------===#
621 # OMod output modifier allowed
622 #===------------------------------------------------------------------------===#
624 # GFX9: v_trunc_f32_sdwa v1, v2 mul:2 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x38,0x02,0x7e,0x02,0x50,0x06,0x00]
625 0xf9 0x38 0x02 0x7e 0x02 0x50 0x06 0x00
627 # GFX9: v_trunc_f32_sdwa v1, v2 clamp div:2 dst_sel:BYTE_0 dst_unused:UNUSED_PRESERVE src0_sel:DWORD ; encoding: [0xf9,0x38,0x02,0x7e,0x02,0xf0,0x06,0x00]
628 0xf9 0x38 0x02 0x7e 0x02 0xf0 0x06 0x00
630 # GFX9: v_add_f32_sdwa v0, v0, v0 mul:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0x46,0x05,0x02]
631 0xf9 0x00 0x00 0x02 0x00 0x46 0x05 0x02
633 # GFX9: v_add_f32_sdwa v0, v0, v0 clamp div:2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:BYTE_2 ; encoding: [0xf9,0x00,0x00,0x02,0x00,0xe6,0x05,0x02]
634 0xf9 0x00 0x00 0x02 0x00 0xe6 0x05 0x02