diff --git a/test/MC/AMDGPU/gfx8_asm_all.s b/test/MC/AMDGPU/gfx8_asm_all.s index 16f94448b98..2711a4a1ce5 100644 --- a/test/MC/AMDGPU/gfx8_asm_all.s +++ b/test/MC/AMDGPU/gfx8_asm_all.s @@ -118538,3 +118538,2010 @@ v_cmpx_t_u32_sdwa vcc, v1, v2 src0_sel:DWORD src1_sel:WORD_1 v_cmpx_t_u32_sdwa vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD // CHECK: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e] + +v_add_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x32] + +v_add_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x33] + +v_add_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x32] + +v_add_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, tba_lo, v2 +// CHECK: [0x6c,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, tba_hi, v2 +// CHECK: [0x6d,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, tma_lo, v2 +// CHECK: [0x6e,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, tma_hi, v2 +// CHECK: [0x6f,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, ttmp11, v2 +// CHECK: [0x7b,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x32] + +v_add_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf] + +v_add_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f] + +v_add_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x32] + +v_add_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, tba, v1, v2 +// CHECK: [0x05,0x6c,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, tma, v1, v2 +// CHECK: [0x05,0x6e,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, ttmp[10:11], v1, v2 +// CHECK: [0x05,0x7a,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], tba_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6c,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], tba_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6d,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], tma_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6e,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], tma_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6f,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], ttmp11, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7b,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00] + +v_add_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00] + +v_add_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, tba_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd9,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, tba_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdb,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, tma_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdd,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, tma_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xdf,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, ttmp11 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xf7,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00] + +v_add_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00] + +v_add_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00] + +v_add_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00] + +v_add_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00] + +v_add_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] + +v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06] + +v_add_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04] + +v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05] + +v_add_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e] + +v_addc_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x38] + +v_addc_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x39] + +v_addc_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x38] + +v_addc_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x38] + +v_addc_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x38] + +v_addc_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x38] + +v_addc_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x38] + +v_addc_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x38] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00] + +v_addc_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00] + +v_addc_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00] + +v_addc_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] + +v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, tba, v1, v2, s[6:7] +// CHECK: [0x05,0x6c,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, tma, v1, v2, s[6:7] +// CHECK: [0x05,0x6e,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7] +// CHECK: [0x05,0x7a,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00] + +v_addc_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01] + +v_addc_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01] + +v_addc_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01] + +v_addc_u32_e64 v5, s[12:13], v1, v2, tba +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xb2,0x01] + +v_addc_u32_e64 v5, s[12:13], v1, v2, tma +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xba,0x01] + +v_addc_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xea,0x01] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06] + +v_addc_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04] + +v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05] + +v_addc_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e] + +v_sub_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x34] + +v_sub_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x35] + +v_sub_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x34] + +v_sub_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, tba_lo, v2 +// CHECK: [0x6c,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, tba_hi, v2 +// CHECK: [0x6d,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, tma_lo, v2 +// CHECK: [0x6e,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, tma_hi, v2 +// CHECK: [0x6f,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, ttmp11, v2 +// CHECK: [0x7b,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x34] + +v_sub_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf] + +v_sub_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f] + +v_sub_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x34] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] + +v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, tba, v1, v2 +// CHECK: [0x05,0x6c,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, tma, v1, v2 +// CHECK: [0x05,0x6e,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, ttmp[10:11], v1, v2 +// CHECK: [0x05,0x7a,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], tba_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6c,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], tba_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6d,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], tma_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6e,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], tma_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6f,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], ttmp11, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7b,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, tba_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd9,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, tba_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdb,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, tma_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdd,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, tma_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xdf,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, ttmp11 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xf7,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00] + +v_sub_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06] + +v_sub_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04] + +v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05] + +v_sub_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e] + +v_subb_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x3a] + +v_subb_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x3b] + +v_subb_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x3a] + +v_subb_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x3a] + +v_subb_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x3a] + +v_subb_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x3a] + +v_subb_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x3a] + +v_subb_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x3a] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00] + +v_subb_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00] + +v_subb_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00] + +v_subb_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] + +v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, tba, v1, v2, s[6:7] +// CHECK: [0x05,0x6c,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, tma, v1, v2, s[6:7] +// CHECK: [0x05,0x6e,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7] +// CHECK: [0x05,0x7a,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00] + +v_subb_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01] + +v_subb_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01] + +v_subb_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01] + +v_subb_u32_e64 v5, s[12:13], v1, v2, tba +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xb2,0x01] + +v_subb_u32_e64 v5, s[12:13], v1, v2, tma +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xba,0x01] + +v_subb_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xea,0x01] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06] + +v_subb_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04] + +v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05] + +v_subb_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e] + +v_subbrev_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x3c] + +v_subbrev_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x3d] + +v_subbrev_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x3c] + +v_subbrev_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x3c] + +v_subbrev_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x3c] + +v_subbrev_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x3c] + +v_subbrev_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x3c] + +v_subbrev_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x3c] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00] + +v_subbrev_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00] + +v_subbrev_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] + +v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, tba, v1, v2, s[6:7] +// CHECK: [0x05,0x6c,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, tma, v1, v2, s[6:7] +// CHECK: [0x05,0x6e,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, ttmp[10:11], v1, v2, s[6:7] +// CHECK: [0x05,0x7a,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, tba +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xb2,0x01] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, tma +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xba,0x01] + +v_subbrev_u32_e64 v5, s[12:13], v1, v2, ttmp[10:11] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xea,0x01] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06] + +v_subbrev_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04] + +v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05] + +v_subbrev_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e] + +v_subrev_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x36] + +v_subrev_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x37] + +v_subrev_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x36] + +v_subrev_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, tba_lo, v2 +// CHECK: [0x6c,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, tba_hi, v2 +// CHECK: [0x6d,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, tma_lo, v2 +// CHECK: [0x6e,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, tma_hi, v2 +// CHECK: [0x6f,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, ttmp11, v2 +// CHECK: [0x7b,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x36] + +v_subrev_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf] + +v_subrev_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f] + +v_subrev_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x36] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] + +v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, tba, v1, v2 +// CHECK: [0x05,0x6c,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, tma, v1, v2 +// CHECK: [0x05,0x6e,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, ttmp[10:11], v1, v2 +// CHECK: [0x05,0x7a,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], tba_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6c,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], tba_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6d,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], tma_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6e,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], tma_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6f,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], ttmp11, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7b,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, tba_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd9,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, tba_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdb,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, tma_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdd,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, tma_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xdf,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, ttmp11 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xf7,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00] + +v_subrev_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06] + +v_subrev_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04] + +v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05] + +v_subrev_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e] diff --git a/test/MC/AMDGPU/gfx9_asm_all.s b/test/MC/AMDGPU/gfx9_asm_all.s index 0f7a5b3fdcf..32604dc7194 100644 --- a/test/MC/AMDGPU/gfx9_asm_all.s +++ b/test/MC/AMDGPU/gfx9_asm_all.s @@ -106592,3 +106592,3108 @@ v_pk_sub_u16 v5, v1, v2 op_sel_hi:[0,1] v_pk_sub_u16 v5, v1, v2 clamp // CHECK: [0x05,0x80,0x8b,0xd3,0x01,0x05,0x02,0x18] + +v_add_co_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x32] + +v_add_co_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x33] + +v_add_co_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x32] + +v_add_co_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x32] + +v_add_co_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf] + +v_add_co_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f] + +v_add_co_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x32] + +v_add_co_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00] + +v_add_co_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x65,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x66,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x67,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x6a,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x6b,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x7c,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x7e,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x7f,0x06,0x86,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06] + +v_add_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04] + +v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05] + +v_add_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00] + +v_add_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00] + +v_add_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] + +v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00] + +v_add_u32 v5, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x68] + +v_add_u32 v255, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x69] + +v_add_u32 v5, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x68] + +v_add_u32 v5, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x68] + +v_add_u32 v5, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x68] + +v_add_u32 v5, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x68] + +v_add_u32 v5, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x68] + +v_add_u32 v5, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x68] + +v_add_u32 v5, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x68] + +v_add_u32 v5, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x68] + +v_add_u32 v5, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x68] + +v_add_u32 v5, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x68] + +v_add_u32 v5, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x68] + +v_add_u32 v5, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x68] + +v_add_u32 v5, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x68] + +v_add_u32 v5, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x68] + +v_add_u32 v5, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x68,0x56,0x34,0x12,0xaf] + +v_add_u32 v5, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x68,0x73,0x72,0x71,0x3f] + +v_add_u32 v5, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x68] + +v_add_u32_e64 v5, v1, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v255, v1, v2 +// CHECK: [0xff,0x00,0x34,0xd1,0x01,0x05,0x02,0x00] + +v_add_u32_e64 v5, v255, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0xff,0x05,0x02,0x00] + +v_add_u32_e64 v5, s1, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0x04,0x02,0x00] + +v_add_u32_e64 v5, s101, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x65,0x04,0x02,0x00] + +v_add_u32_e64 v5, flat_scratch_lo, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x66,0x04,0x02,0x00] + +v_add_u32_e64 v5, flat_scratch_hi, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x67,0x04,0x02,0x00] + +v_add_u32_e64 v5, vcc_lo, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x6a,0x04,0x02,0x00] + +v_add_u32_e64 v5, vcc_hi, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x6b,0x04,0x02,0x00] + +v_add_u32_e64 v5, m0, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x7c,0x04,0x02,0x00] + +v_add_u32_e64 v5, exec_lo, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x7e,0x04,0x02,0x00] + +v_add_u32_e64 v5, exec_hi, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x7f,0x04,0x02,0x00] + +v_add_u32_e64 v5, 0, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0x80,0x04,0x02,0x00] + +v_add_u32_e64 v5, -1, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0xc1,0x04,0x02,0x00] + +v_add_u32_e64 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0xf0,0x04,0x02,0x00] + +v_add_u32_e64 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x34,0xd1,0xf7,0x04,0x02,0x00] + +v_add_u32_e64 v5, v1, v255 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xff,0x03,0x00] + +v_add_u32_e64 v5, v1, s2 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0x05,0x00,0x00] + +v_add_u32_e64 v5, v1, s101 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xcb,0x00,0x00] + +v_add_u32_e64 v5, v1, flat_scratch_lo +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xcd,0x00,0x00] + +v_add_u32_e64 v5, v1, flat_scratch_hi +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xcf,0x00,0x00] + +v_add_u32_e64 v5, v1, vcc_lo +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xd5,0x00,0x00] + +v_add_u32_e64 v5, v1, vcc_hi +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xd7,0x00,0x00] + +v_add_u32_e64 v5, v1, m0 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xf9,0x00,0x00] + +v_add_u32_e64 v5, v1, exec_lo +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xfd,0x00,0x00] + +v_add_u32_e64 v5, v1, exec_hi +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xff,0x00,0x00] + +v_add_u32_e64 v5, v1, 0 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0x01,0x01,0x00] + +v_add_u32_e64 v5, v1, -1 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0x83,0x01,0x00] + +v_add_u32_e64 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xe1,0x01,0x00] + +v_add_u32_e64 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x34,0xd1,0x01,0xef,0x01,0x00] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x69,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0xff,0x06,0x06,0x06] + +v_add_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x86,0x06] + +v_add_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x65,0x06,0x86,0x06] + +v_add_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x66,0x06,0x86,0x06] + +v_add_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x67,0x06,0x86,0x06] + +v_add_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x6a,0x06,0x86,0x06] + +v_add_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x6b,0x06,0x86,0x06] + +v_add_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x7c,0x06,0x86,0x06] + +v_add_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x7e,0x06,0x86,0x06] + +v_add_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x7f,0x06,0x86,0x06] + +v_add_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x68,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x26,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x00,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x01,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x02,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x03,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x04,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x05,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x0e,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x16,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x16,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x00,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x01,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x02,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x03,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x04,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x05,0x06] + +v_add_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x0e,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x00] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x01] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x02] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x03] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x04] + +v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x05] + +v_add_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x0e] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x69,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0xff,0xe4,0x00,0x00] + +v_add_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x68,0x01,0xe4,0x00,0x00] + +v_add_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x1b,0x00,0x00] + +v_add_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x40,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x41,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x42,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x43,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x30,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x34,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x38,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x3c,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x01,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x0f,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x11,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x1f,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x21,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0x2f,0x01,0x00] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x10] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x30] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0xf0] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0xf0] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x01] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x03] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x0f] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x0f] + +v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x08,0x00] + +v_add_i32 v5, v1, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00] + +v_add_i32 v255, v1, v2 +// CHECK: [0xff,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00] + +v_add_i32 v5, v255, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0xff,0x05,0x02,0x00] + +v_add_i32 v5, s1, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x04,0x02,0x00] + +v_add_i32 v5, s101, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x65,0x04,0x02,0x00] + +v_add_i32 v5, flat_scratch_lo, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x66,0x04,0x02,0x00] + +v_add_i32 v5, flat_scratch_hi, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x67,0x04,0x02,0x00] + +v_add_i32 v5, vcc_lo, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x6a,0x04,0x02,0x00] + +v_add_i32 v5, vcc_hi, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x6b,0x04,0x02,0x00] + +v_add_i32 v5, m0, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x7c,0x04,0x02,0x00] + +v_add_i32 v5, exec_lo, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x7e,0x04,0x02,0x00] + +v_add_i32 v5, exec_hi, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x7f,0x04,0x02,0x00] + +v_add_i32 v5, 0, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x80,0x04,0x02,0x00] + +v_add_i32 v5, -1, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0xc1,0x04,0x02,0x00] + +v_add_i32 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0xf0,0x04,0x02,0x00] + +v_add_i32 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x9c,0xd2,0xf7,0x04,0x02,0x00] + +v_add_i32 v5, v1, v255 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x03,0x00] + +v_add_i32 v5, v1, s2 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x00,0x00] + +v_add_i32 v5, v1, s101 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xcb,0x00,0x00] + +v_add_i32 v5, v1, flat_scratch_lo +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xcd,0x00,0x00] + +v_add_i32 v5, v1, flat_scratch_hi +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xcf,0x00,0x00] + +v_add_i32 v5, v1, vcc_lo +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd5,0x00,0x00] + +v_add_i32 v5, v1, vcc_hi +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xd7,0x00,0x00] + +v_add_i32 v5, v1, m0 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xf9,0x00,0x00] + +v_add_i32 v5, v1, exec_lo +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xfd,0x00,0x00] + +v_add_i32 v5, v1, exec_hi +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x00,0x00] + +v_add_i32 v5, v1, 0 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x01,0x01,0x00] + +v_add_i32 v5, v1, -1 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0x83,0x01,0x00] + +v_add_i32 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xe1,0x01,0x00] + +v_add_i32 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x9c,0xd2,0x01,0xef,0x01,0x00] + +v_addc_co_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x38] + +v_addc_co_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x39] + +v_addc_co_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x38] + +v_addc_co_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x38] + +v_addc_co_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x38] + +v_addc_co_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x38] + +v_addc_co_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x38] + +v_addc_co_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x38] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00] + +v_addc_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00] + +v_addc_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] + +v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00] + +v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01] + +v_addc_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01] + +v_addc_co_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06] + +v_addc_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04] + +v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05] + +v_addc_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e] + +v_sub_co_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x34] + +v_sub_co_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x35] + +v_sub_co_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x34] + +v_sub_co_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x34] + +v_sub_co_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf] + +v_sub_co_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f] + +v_sub_co_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x34] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00] + +v_sub_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00] + +v_sub_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] + +v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00] + +v_sub_co_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x65,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x66,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x67,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x6a,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x6b,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x7c,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x7e,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x7f,0x06,0x86,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06] + +v_sub_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04] + +v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05] + +v_sub_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e] + +v_sub_i32 v5, v1, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00] + +v_sub_i32 v255, v1, v2 +// CHECK: [0xff,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00] + +v_sub_i32 v5, v255, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0xff,0x05,0x02,0x00] + +v_sub_i32 v5, s1, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0x04,0x02,0x00] + +v_sub_i32 v5, s101, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x65,0x04,0x02,0x00] + +v_sub_i32 v5, flat_scratch_lo, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x66,0x04,0x02,0x00] + +v_sub_i32 v5, flat_scratch_hi, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x67,0x04,0x02,0x00] + +v_sub_i32 v5, vcc_lo, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x6a,0x04,0x02,0x00] + +v_sub_i32 v5, vcc_hi, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x6b,0x04,0x02,0x00] + +v_sub_i32 v5, m0, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x7c,0x04,0x02,0x00] + +v_sub_i32 v5, exec_lo, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x7e,0x04,0x02,0x00] + +v_sub_i32 v5, exec_hi, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x7f,0x04,0x02,0x00] + +v_sub_i32 v5, 0, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x80,0x04,0x02,0x00] + +v_sub_i32 v5, -1, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0xc1,0x04,0x02,0x00] + +v_sub_i32 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0xf0,0x04,0x02,0x00] + +v_sub_i32 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x9d,0xd2,0xf7,0x04,0x02,0x00] + +v_sub_i32 v5, v1, v255 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xff,0x03,0x00] + +v_sub_i32 v5, v1, s2 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0x05,0x00,0x00] + +v_sub_i32 v5, v1, s101 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xcb,0x00,0x00] + +v_sub_i32 v5, v1, flat_scratch_lo +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xcd,0x00,0x00] + +v_sub_i32 v5, v1, flat_scratch_hi +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xcf,0x00,0x00] + +v_sub_i32 v5, v1, vcc_lo +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xd5,0x00,0x00] + +v_sub_i32 v5, v1, vcc_hi +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xd7,0x00,0x00] + +v_sub_i32 v5, v1, m0 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xf9,0x00,0x00] + +v_sub_i32 v5, v1, exec_lo +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xfd,0x00,0x00] + +v_sub_i32 v5, v1, exec_hi +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xff,0x00,0x00] + +v_sub_i32 v5, v1, 0 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0x01,0x01,0x00] + +v_sub_i32 v5, v1, -1 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0x83,0x01,0x00] + +v_sub_i32 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xe1,0x01,0x00] + +v_sub_i32 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x9d,0xd2,0x01,0xef,0x01,0x00] + +v_sub_u32 v5, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x6a] + +v_sub_u32 v255, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x6b] + +v_sub_u32 v5, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x6a] + +v_sub_u32 v5, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x6a] + +v_sub_u32 v5, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x6a] + +v_sub_u32 v5, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x6a] + +v_sub_u32 v5, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x6a] + +v_sub_u32 v5, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x6a] + +v_sub_u32 v5, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x6a] + +v_sub_u32 v5, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x6a] + +v_sub_u32 v5, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x6a] + +v_sub_u32 v5, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x6a] + +v_sub_u32 v5, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x6a] + +v_sub_u32 v5, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x6a] + +v_sub_u32 v5, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x6a] + +v_sub_u32 v5, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x6a] + +v_sub_u32 v5, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x6a,0x56,0x34,0x12,0xaf] + +v_sub_u32 v5, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x6a,0x73,0x72,0x71,0x3f] + +v_sub_u32 v5, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x6a] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x6b,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0xff,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x6a,0x01,0xe4,0x00,0x00] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x1b,0x00,0x00] + +v_sub_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x40,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x41,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x42,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x43,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x30,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x34,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x38,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x3c,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x01,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x0f,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x11,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x1f,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x21,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0x2f,0x01,0x00] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x10] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x30] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0xf0] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0xf0] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x01] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x03] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x0f] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x0f] + +v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x08,0x00] + +v_sub_u32_e64 v5, v1, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v255, v1, v2 +// CHECK: [0xff,0x00,0x35,0xd1,0x01,0x05,0x02,0x00] + +v_sub_u32_e64 v5, v255, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0xff,0x05,0x02,0x00] + +v_sub_u32_e64 v5, s1, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0x04,0x02,0x00] + +v_sub_u32_e64 v5, s101, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x65,0x04,0x02,0x00] + +v_sub_u32_e64 v5, flat_scratch_lo, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x66,0x04,0x02,0x00] + +v_sub_u32_e64 v5, flat_scratch_hi, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x67,0x04,0x02,0x00] + +v_sub_u32_e64 v5, vcc_lo, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x6a,0x04,0x02,0x00] + +v_sub_u32_e64 v5, vcc_hi, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x6b,0x04,0x02,0x00] + +v_sub_u32_e64 v5, m0, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x7c,0x04,0x02,0x00] + +v_sub_u32_e64 v5, exec_lo, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x7e,0x04,0x02,0x00] + +v_sub_u32_e64 v5, exec_hi, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x7f,0x04,0x02,0x00] + +v_sub_u32_e64 v5, 0, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0x80,0x04,0x02,0x00] + +v_sub_u32_e64 v5, -1, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0xc1,0x04,0x02,0x00] + +v_sub_u32_e64 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0xf0,0x04,0x02,0x00] + +v_sub_u32_e64 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x35,0xd1,0xf7,0x04,0x02,0x00] + +v_sub_u32_e64 v5, v1, v255 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xff,0x03,0x00] + +v_sub_u32_e64 v5, v1, s2 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0x05,0x00,0x00] + +v_sub_u32_e64 v5, v1, s101 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xcb,0x00,0x00] + +v_sub_u32_e64 v5, v1, flat_scratch_lo +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xcd,0x00,0x00] + +v_sub_u32_e64 v5, v1, flat_scratch_hi +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xcf,0x00,0x00] + +v_sub_u32_e64 v5, v1, vcc_lo +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xd5,0x00,0x00] + +v_sub_u32_e64 v5, v1, vcc_hi +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xd7,0x00,0x00] + +v_sub_u32_e64 v5, v1, m0 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xf9,0x00,0x00] + +v_sub_u32_e64 v5, v1, exec_lo +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xfd,0x00,0x00] + +v_sub_u32_e64 v5, v1, exec_hi +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xff,0x00,0x00] + +v_sub_u32_e64 v5, v1, 0 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0x01,0x01,0x00] + +v_sub_u32_e64 v5, v1, -1 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0x83,0x01,0x00] + +v_sub_u32_e64 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xe1,0x01,0x00] + +v_sub_u32_e64 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x35,0xd1,0x01,0xef,0x01,0x00] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x6b,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0xff,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x65,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x66,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x67,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x6a,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x6b,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x7c,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x7e,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x7f,0x06,0x86,0x06] + +v_sub_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x6a,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x26,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x00,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x01,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x02,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x03,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x04,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x05,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x0e,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x16,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x16,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x00,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x01,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x02,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x03,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x04,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x05,0x06] + +v_sub_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x0e,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x00] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x01] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x02] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x03] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x04] + +v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x05] + +v_sub_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x0e] + +v_subb_co_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x3a] + +v_subb_co_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x3b] + +v_subb_co_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x3a] + +v_subb_co_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x3a] + +v_subb_co_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x3a] + +v_subb_co_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x3a] + +v_subb_co_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x3a] + +v_subb_co_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x3a] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00] + +v_subb_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00] + +v_subb_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] + +v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00] + +v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01] + +v_subb_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01] + +v_subb_co_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06] + +v_subb_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04] + +v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05] + +v_subb_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e] + +v_subbrev_co_u32 v5, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0x0a,0x3c] + +v_subbrev_co_u32 v255, vcc, v1, v2, vcc +// CHECK: [0x01,0x05,0xfe,0x3d] + +v_subbrev_co_u32 v5, vcc, v255, v2, vcc +// CHECK: [0xff,0x05,0x0a,0x3c] + +v_subbrev_co_u32 v5, vcc, 0, v2, vcc +// CHECK: [0x80,0x04,0x0a,0x3c] + +v_subbrev_co_u32 v5, vcc, -1, v2, vcc +// CHECK: [0xc1,0x04,0x0a,0x3c] + +v_subbrev_co_u32 v5, vcc, 0.5, v2, vcc +// CHECK: [0xf0,0x04,0x0a,0x3c] + +v_subbrev_co_u32 v5, vcc, -4.0, v2, vcc +// CHECK: [0xf7,0x04,0x0a,0x3c] + +v_subbrev_co_u32 v5, vcc, v1, v255, vcc +// CHECK: [0x01,0xff,0x0b,0x3c] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00] + +v_subbrev_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] + +v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] +// CHECK: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] +// CHECK: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] +// CHECK: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] +// CHECK: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, vcc, v1, v2, s[6:7] +// CHECK: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01] + +v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, vcc +// CHECK: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04] + +v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05] + +v_subbrev_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e] + +v_subrev_co_u32 v5, vcc, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x36] + +v_subrev_co_u32 v255, vcc, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x37] + +v_subrev_co_u32 v5, vcc, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x36] + +v_subrev_co_u32 v5, vcc, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf] + +v_subrev_co_u32 v5, vcc, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f] + +v_subrev_co_u32 v5, vcc, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x36] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00] + +v_subrev_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00] + +v_subrev_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] + +v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v255, s[12:13], v1, v2 +// CHECK: [0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[14:15], v1, v2 +// CHECK: [0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[100:101], v1, v2 +// CHECK: [0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, flat_scratch, v1, v2 +// CHECK: [0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, vcc, v1, v2 +// CHECK: [0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v255, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], s1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], s101, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], vcc_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], vcc_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], m0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], exec_lo, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], exec_hi, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], 0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], -1, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], 0.5, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], -4.0, v2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, v255 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, s2 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, s101 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, vcc_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, vcc_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, m0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, exec_lo +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, exec_hi +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, 0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, -1 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, 0.5 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00] + +v_subrev_co_u32_e64 v5, s[12:13], v1, -4.0 +// CHECK: [0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x65,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x66,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x67,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x6a,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x6b,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x7c,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x7e,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x7f,0x06,0x86,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06] + +v_subrev_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04] + +v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05] + +v_subrev_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e] + +v_subrev_u32 v5, v1, v2 +// CHECK: [0x01,0x05,0x0a,0x6c] + +v_subrev_u32 v255, v1, v2 +// CHECK: [0x01,0x05,0xfe,0x6d] + +v_subrev_u32 v5, v255, v2 +// CHECK: [0xff,0x05,0x0a,0x6c] + +v_subrev_u32 v5, s1, v2 +// CHECK: [0x01,0x04,0x0a,0x6c] + +v_subrev_u32 v5, s101, v2 +// CHECK: [0x65,0x04,0x0a,0x6c] + +v_subrev_u32 v5, flat_scratch_lo, v2 +// CHECK: [0x66,0x04,0x0a,0x6c] + +v_subrev_u32 v5, flat_scratch_hi, v2 +// CHECK: [0x67,0x04,0x0a,0x6c] + +v_subrev_u32 v5, vcc_lo, v2 +// CHECK: [0x6a,0x04,0x0a,0x6c] + +v_subrev_u32 v5, vcc_hi, v2 +// CHECK: [0x6b,0x04,0x0a,0x6c] + +v_subrev_u32 v5, m0, v2 +// CHECK: [0x7c,0x04,0x0a,0x6c] + +v_subrev_u32 v5, exec_lo, v2 +// CHECK: [0x7e,0x04,0x0a,0x6c] + +v_subrev_u32 v5, exec_hi, v2 +// CHECK: [0x7f,0x04,0x0a,0x6c] + +v_subrev_u32 v5, 0, v2 +// CHECK: [0x80,0x04,0x0a,0x6c] + +v_subrev_u32 v5, -1, v2 +// CHECK: [0xc1,0x04,0x0a,0x6c] + +v_subrev_u32 v5, 0.5, v2 +// CHECK: [0xf0,0x04,0x0a,0x6c] + +v_subrev_u32 v5, -4.0, v2 +// CHECK: [0xf7,0x04,0x0a,0x6c] + +v_subrev_u32 v5, 0xaf123456, v2 +// CHECK: [0xff,0x04,0x0a,0x6c,0x56,0x34,0x12,0xaf] + +v_subrev_u32 v5, 0x3f717273, v2 +// CHECK: [0xff,0x04,0x0a,0x6c,0x73,0x72,0x71,0x3f] + +v_subrev_u32 v5, v1, v255 +// CHECK: [0x01,0xff,0x0b,0x6c] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0xfe,0x6d,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0xff,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0xfe,0x0b,0x6c,0x01,0xe4,0x00,0x00] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x1b,0x00,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x40,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x41,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x42,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x43,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x30,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x34,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x38,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x3c,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x01,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x0f,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x11,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x1f,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x21,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0x2f,0x01,0x00] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x10] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x30] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0xf0] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] bank_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0xf0] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x01] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x03] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x0f] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x0f] + +v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 +// CHECK: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x08,0x00] + +v_subrev_u32_e64 v5, v1, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v255, v1, v2 +// CHECK: [0xff,0x00,0x36,0xd1,0x01,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, v255, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0xff,0x05,0x02,0x00] + +v_subrev_u32_e64 v5, s1, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, s101, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x65,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, flat_scratch_lo, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x66,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, flat_scratch_hi, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x67,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, vcc_lo, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x6a,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, vcc_hi, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x6b,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, m0, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x7c,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, exec_lo, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x7e,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, exec_hi, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x7f,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, 0, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0x80,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, -1, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0xc1,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, 0.5, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0xf0,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, -4.0, v2 +// CHECK: [0x05,0x00,0x36,0xd1,0xf7,0x04,0x02,0x00] + +v_subrev_u32_e64 v5, v1, v255 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xff,0x03,0x00] + +v_subrev_u32_e64 v5, v1, s2 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0x05,0x00,0x00] + +v_subrev_u32_e64 v5, v1, s101 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xcb,0x00,0x00] + +v_subrev_u32_e64 v5, v1, flat_scratch_lo +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xcd,0x00,0x00] + +v_subrev_u32_e64 v5, v1, flat_scratch_hi +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xcf,0x00,0x00] + +v_subrev_u32_e64 v5, v1, vcc_lo +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xd5,0x00,0x00] + +v_subrev_u32_e64 v5, v1, vcc_hi +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xd7,0x00,0x00] + +v_subrev_u32_e64 v5, v1, m0 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xf9,0x00,0x00] + +v_subrev_u32_e64 v5, v1, exec_lo +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xfd,0x00,0x00] + +v_subrev_u32_e64 v5, v1, exec_hi +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xff,0x00,0x00] + +v_subrev_u32_e64 v5, v1, 0 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0x01,0x01,0x00] + +v_subrev_u32_e64 v5, v1, -1 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0x83,0x01,0x00] + +v_subrev_u32_e64 v5, v1, 0.5 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xe1,0x01,0x00] + +v_subrev_u32_e64 v5, v1, -4.0 +// CHECK: [0x05,0x00,0x36,0xd1,0x01,0xef,0x01,0x00] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0xfe,0x6d,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0xff,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x65,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x66,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x67,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x6a,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x6b,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x7c,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x7e,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x7f,0x06,0x86,0x06] + +v_subrev_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0xfe,0x0b,0x6c,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x26,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x00,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x01,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x02,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x03,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x04,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x05,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x0e,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x16,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x16,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x00,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x01,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x02,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x03,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x04,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x05,0x06] + +v_subrev_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x0e,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x00] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x01] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x02] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x03] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x04] + +v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x05] + +v_subrev_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD +// CHECK: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x0e] diff --git a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt index d8b18a65f9d..56faba3ac57 100644 --- a/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt +++ b/test/MC/Disassembler/AMDGPU/gfx8_dasm_all.txt @@ -111164,3 +111164,1686 @@ # CHECK: v_cmpx_t_u32 vcc, v1, sext(v2) src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e] 0xf9,0x04,0xbe,0x7d,0x01,0x16,0x06,0x0e + +# CHECK: v_add_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x32] +0x01,0x05,0x0a,0x32 + +# CHECK: v_add_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x33] +0x01,0x05,0xfe,0x33 + +# CHECK: v_add_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x32] +0xff,0x05,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x32] +0x01,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x32] +0x65,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x32] +0x66,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x32] +0x67,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x32] +0x6a,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x32] +0x6b,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x32] +0x7c,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x32] +0x7e,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x32] +0x7f,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x32] +0x80,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x32] +0xc1,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x32] +0xf0,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x32] +0xf7,0x04,0x0a,0x32 + +# CHECK: v_add_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf + +# CHECK: v_add_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f + +# CHECK: v_add_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x32] +0x01,0xff,0x0b,0x32 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03 + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f + +# CHECK: v_add_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05 + +# CHECK: v_add_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e + +# CHECK: v_addc_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x38] +0x01,0x05,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x39] +0x01,0x05,0xfe,0x39 + +# CHECK: v_addc_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x38] +0xff,0x05,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x38] +0x80,0x04,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x38] +0xc1,0x04,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x38] +0xf0,0x04,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x38] +0xf7,0x04,0x0a,0x38 + +# CHECK: v_addc_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x38] +0x01,0xff,0x0b,0x38 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03 + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f + +# CHECK: v_addc_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_addc_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05 + +# CHECK: v_addc_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e + +# CHECK: v_sub_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x34] +0x01,0x05,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x35] +0x01,0x05,0xfe,0x35 + +# CHECK: v_sub_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x34] +0xff,0x05,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x34] +0x01,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x34] +0x65,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x34] +0x66,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x34] +0x67,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x34] +0x6a,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x34] +0x6b,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x34] +0x7c,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x34] +0x7e,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x34] +0x7f,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x34] +0x80,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x34] +0xc1,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x34] +0xf0,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x34] +0xf7,0x04,0x0a,0x34 + +# CHECK: v_sub_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf + +# CHECK: v_sub_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f + +# CHECK: v_sub_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x34] +0x01,0xff,0x0b,0x34 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03 + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f + +# CHECK: v_sub_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05 + +# CHECK: v_sub_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e + +# CHECK: v_subb_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3a] +0x01,0x05,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3b] +0x01,0x05,0xfe,0x3b + +# CHECK: v_subb_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3a] +0xff,0x05,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3a] +0x80,0x04,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3a] +0xc1,0x04,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3a] +0xf0,0x04,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3a] +0xf7,0x04,0x0a,0x3a + +# CHECK: v_subb_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3a] +0x01,0xff,0x0b,0x3a + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03 + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f + +# CHECK: v_subb_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_subb_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05 + +# CHECK: v_subb_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e + +# CHECK: v_subbrev_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3c] +0x01,0x05,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3d] +0x01,0x05,0xfe,0x3d + +# CHECK: v_subbrev_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3c] +0xff,0x05,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3c] +0x80,0x04,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3c] +0xc1,0x04,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3c] +0xf0,0x04,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3c] +0xf7,0x04,0x0a,0x3c + +# CHECK: v_subbrev_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3c] +0x01,0xff,0x0b,0x3c + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03 + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f + +# CHECK: v_subbrev_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_subbrev_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05 + +# CHECK: v_subbrev_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e + +# CHECK: v_subrev_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x36] +0x01,0x05,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x37] +0x01,0x05,0xfe,0x37 + +# CHECK: v_subrev_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x36] +0xff,0x05,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x36] +0x01,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x36] +0x65,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x36] +0x66,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x36] +0x67,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x36] +0x6a,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x36] +0x6b,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x36] +0x7c,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x36] +0x7e,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x36] +0x7f,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x36] +0x80,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x36] +0xc1,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x36] +0xf0,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x36] +0xf7,0x04,0x0a,0x36 + +# CHECK: v_subrev_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf + +# CHECK: v_subrev_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f + +# CHECK: v_subrev_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x36] +0x01,0xff,0x0b,0x36 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03 + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f + +# CHECK: v_subrev_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05 + +# CHECK: v_subrev_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e diff --git a/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt b/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt index 38487be55ce..8cb8b87e359 100644 --- a/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt +++ b/test/MC/Disassembler/AMDGPU/gfx9_dasm_all.txt @@ -90446,3 +90446,2922 @@ # CHECK: v_cvt_pknorm_u16_f16 v5, v1, v2 op_sel:[1,1,1] ; encoding: [0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00] 0x05,0x58,0x9a,0xd2,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x32] +0x01,0x05,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x33] +0x01,0x05,0xfe,0x33 + +# CHECK: v_add_co_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x32] +0xff,0x05,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x32] +0x01,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x32] +0x65,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x32] +0x66,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x32] +0x67,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x32] +0x6a,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x32] +0x6b,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x32] +0x7c,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x32] +0x7e,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x32] +0x7f,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x32] +0x80,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x32] +0xc1,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x32] +0xf0,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x32] +0xf7,0x04,0x0a,0x32 + +# CHECK: v_add_co_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x32,0x56,0x34,0x12,0xaf + +# CHECK: v_add_co_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x32,0x73,0x72,0x71,0x3f + +# CHECK: v_add_co_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x32] +0x01,0xff,0x0b,0x32 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x19,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x19,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_add_co_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x19,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x33,0x01,0x06,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x32,0xff,0x06,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x65,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x66,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x67,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x6a,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x6b,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x7c,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x7e,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x32,0x7f,0x06,0x86,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x32,0x01,0x06,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x26,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x00,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x01,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x02,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x03,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x04,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x05,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x0e,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x16,0x06,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x00,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x01,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x02,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x03,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x04,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x05,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x0e,0x06 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x00 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x01 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x02 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x03 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x04 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x05 + +# CHECK: v_add_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x32,0x01,0x06,0x06,0x0e + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x33,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x32,0xff,0xe4,0x00,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x32,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x1b,0x00,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x40,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x41,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x42,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x43,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x30,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x34,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x38,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x3c,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x01,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x0f,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x11,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x1f,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x21,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x32,0x01,0x2f,0x01,0x00 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x10 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x30 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0xf0 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x01 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x03 + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x00,0x0f + +# CHECK: v_add_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x32,0x01,0xe4,0x08,0x00 + +# CHECK: v_add_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x68] +0x01,0x05,0x0a,0x68 + +# CHECK: v_add_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x69] +0x01,0x05,0xfe,0x69 + +# CHECK: v_add_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x68] +0xff,0x05,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x68] +0x01,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x68] +0x65,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x68] +0x66,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x68] +0x67,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x68] +0x6a,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x68] +0x6b,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x68] +0x7c,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x68] +0x7e,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x68] +0x7f,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x68] +0x80,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x68] +0xc1,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x68] +0xf0,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x68] +0xf7,0x04,0x0a,0x68 + +# CHECK: v_add_u32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x68,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x68,0x56,0x34,0x12,0xaf + +# CHECK: v_add_u32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x68,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x68,0x73,0x72,0x71,0x3f + +# CHECK: v_add_u32_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x68] +0x01,0xff,0x0b,0x68 + +# CHECK: v_add_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0x05,0x02,0x00] +0x05,0x00,0x34,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x34,0xd1,0x01,0x05,0x02,0x00] +0xff,0x00,0x34,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x34,0xd1,0xff,0x05,0x02,0x00] +0x05,0x00,0x34,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x65,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x66,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x67,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x34,0xd1,0x80,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x34,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x34,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x34,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x00,0x34,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_add_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xff,0x03,0x00] +0x05,0x00,0x34,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_add_u32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0x05,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xff,0x00,0x00] +0x05,0x00,0x34,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_add_u32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0x01,0x01,0x00] +0x05,0x00,0x34,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0x83,0x01,0x00] +0x05,0x00,0x34,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x00,0x34,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_add_u32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x34,0xd1,0x01,0xef,0x01,0x00] +0x05,0x00,0x34,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x69,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x69,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x68,0xff,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x65,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x66,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x67,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x6a,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x6b,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x7c,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x7e,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x68,0x7f,0x06,0x86,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x68,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x68,0x01,0x06,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x26,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x00,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x01,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x02,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x03,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x04,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x05,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x0e,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x16,0x06,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x00,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x01,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x02,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x03,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x04,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x05,0x06 + +# CHECK: v_add_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x0e,0x06 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x00 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x01 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x02 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x03 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x04 + +# CHECK: v_add_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x05 + +# CHECK: v_add_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x68,0x01,0x06,0x06,0x0e + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x69,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x69,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x68,0xff,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x68,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x68,0x01,0xe4,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x1b,0x00,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x40,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x41,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x42,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x43,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x30,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x34,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x38,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x3c,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x01,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x0f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x11,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x1f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x21,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x68,0x01,0x2f,0x01,0x00 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x10 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x30 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0xf0 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x01 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x03 + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x00,0x0f + +# CHECK: v_add_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x68,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x68,0x01,0xe4,0x08,0x00 + +# CHECK: v_add_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00 + +# CHECK: v_add_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00] +0xff,0x00,0x9c,0xd2,0x01,0x05,0x02,0x00 + +# CHECK: v_add_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0xff,0x05,0x02,0x00] +0x05,0x00,0x9c,0xd2,0xff,0x05,0x02,0x00 + +# CHECK: v_add_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x01,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x65,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x65,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x66,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x66,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x67,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x67,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x6a,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x6a,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x6b,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x6b,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x7c,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x7c,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x7e,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x7e,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x9c,0xd2,0x7f,0x04,0x02,0x00] +0x05,0x00,0x9c,0xd2,0x7f,0x04,0x02,0x00 + +# CHECK: v_add_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x03,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xff,0x03,0x00 + +# CHECK: v_add_i32 v5, v1, s2 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0x05,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0x05,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xcb,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xcb,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xcd,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xcd,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xcf,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xcf,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xd5,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xd5,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xd7,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xd7,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xf9,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xf9,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xfd,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xfd,0x00,0x00 + +# CHECK: v_add_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x9c,0xd2,0x01,0xff,0x00,0x00] +0x05,0x00,0x9c,0xd2,0x01,0xff,0x00,0x00 + +# CHECK: v_addc_co_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x38] +0x01,0x05,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x39] +0x01,0x05,0xfe,0x39 + +# CHECK: v_addc_co_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x38] +0xff,0x05,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x38] +0x80,0x04,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x38] +0xc1,0x04,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x38] +0xf0,0x04,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x38] +0xf7,0x04,0x0a,0x38 + +# CHECK: v_addc_co_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x38] +0x01,0xff,0x0b,0x38 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x39,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x38,0xff,0xe4,0x00,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x38,0x01,0xe4,0x00,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x1b,0x00,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x40,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x41,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x42,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x43,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x30,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x34,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x38,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x3c,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x01,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x0f,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x11,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x1f,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x21,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x38,0x01,0x2f,0x01,0x00 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x10 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x30 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0xf0 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x01 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x03 + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x00,0x0f + +# CHECK: v_addc_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x38,0x01,0xe4,0x08,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1c,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1c,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_addc_co_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1c,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x39,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x38,0xff,0x06,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x38,0x01,0x06,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x26,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x00,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x01,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x02,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x03,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x04,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x05,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x0e,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x16,0x06,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x00,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x01,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x02,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x03,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x04,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x05,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x0e,0x06 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x00 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x01 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x02 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x03 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x04 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x05 + +# CHECK: v_addc_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x38,0x01,0x06,0x06,0x0e + +# CHECK: v_sub_co_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x34] +0x01,0x05,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x35] +0x01,0x05,0xfe,0x35 + +# CHECK: v_sub_co_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x34] +0xff,0x05,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x34] +0x01,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x34] +0x65,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x34] +0x66,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x34] +0x67,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x34] +0x6a,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x34] +0x6b,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x34] +0x7c,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x34] +0x7e,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x34] +0x7f,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x34] +0x80,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x34] +0xc1,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x34] +0xf0,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x34] +0xf7,0x04,0x0a,0x34 + +# CHECK: v_sub_co_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x34,0x56,0x34,0x12,0xaf + +# CHECK: v_sub_co_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x34,0x73,0x72,0x71,0x3f + +# CHECK: v_sub_co_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x34] +0x01,0xff,0x0b,0x34 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x35,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x34,0xff,0xe4,0x00,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x34,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x1b,0x00,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x40,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x41,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x42,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x43,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x30,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x34,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x38,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x3c,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x0f,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x11,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x1f,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x21,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x34,0x01,0x2f,0x01,0x00 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x10 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x30 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0xf0 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x01 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x03 + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x00,0x0f + +# CHECK: v_sub_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x34,0x01,0xe4,0x08,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x1a,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x1a,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_sub_co_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x1a,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x35,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x34,0xff,0x06,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x65,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x66,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x67,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x6a,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x6b,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x7c,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x7e,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x34,0x7f,0x06,0x86,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x34,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x26,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x00,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x01,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x02,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x03,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x04,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x05,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x0e,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x16,0x06,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x00,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x01,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x02,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x03,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x04,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x05,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x0e,0x06 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x00 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x01 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x02 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x03 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x04 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x05 + +# CHECK: v_sub_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x34,0x01,0x06,0x06,0x0e + +# CHECK: v_sub_i32 v5, v1, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_i32 v255, v1, v2 ; encoding: [0xff,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00] +0xff,0x00,0x9d,0xd2,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_i32 v5, v255, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0xff,0x05,0x02,0x00] +0x05,0x00,0x9d,0xd2,0xff,0x05,0x02,0x00 + +# CHECK: v_sub_i32 v5, s1, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x01,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, s101, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x65,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x65,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x66,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x66,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x67,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x67,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x6a,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x6a,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x6b,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x6b,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, m0, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x7c,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x7c,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x7e,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x7e,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x7f,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x7f,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, 0, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0x80,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0x80,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, -1, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0xc1,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0xc1,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, 0.5, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0xf0,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0xf0,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, -4.0, v2 ; encoding: [0x05,0x00,0x9d,0xd2,0xf7,0x04,0x02,0x00] +0x05,0x00,0x9d,0xd2,0xf7,0x04,0x02,0x00 + +# CHECK: v_sub_i32 v5, v1, v255 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xff,0x03,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xff,0x03,0x00 + +# CHECK: v_sub_i32 v5, v1, s2 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0x05,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0x05,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, s101 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xcb,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xcb,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xcd,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xcd,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xcf,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xcf,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xd5,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xd5,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xd7,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xd7,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, m0 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xf9,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xf9,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, exec_lo ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xfd,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xfd,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, exec_hi ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xff,0x00,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xff,0x00,0x00 + +# CHECK: v_sub_i32 v5, v1, 0 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0x01,0x01,0x00] +0x05,0x00,0x9d,0xd2,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_i32 v5, v1, -1 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0x83,0x01,0x00] +0x05,0x00,0x9d,0xd2,0x01,0x83,0x01,0x00 + +# CHECK: v_sub_i32 v5, v1, 0.5 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xe1,0x01,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xe1,0x01,0x00 + +# CHECK: v_sub_i32 v5, v1, -4.0 ; encoding: [0x05,0x00,0x9d,0xd2,0x01,0xef,0x01,0x00] +0x05,0x00,0x9d,0xd2,0x01,0xef,0x01,0x00 + +# CHECK: v_sub_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x6a] +0x01,0x05,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x6b] +0x01,0x05,0xfe,0x6b + +# CHECK: v_sub_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x6a] +0xff,0x05,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x6a] +0x01,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x6a] +0x65,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x6a] +0x66,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x6a] +0x67,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x6a] +0x6a,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x6a] +0x6b,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x6a] +0x7c,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x6a] +0x7e,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x6a] +0x7f,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x6a] +0x80,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x6a] +0xc1,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x6a] +0xf0,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x6a] +0xf7,0x04,0x0a,0x6a + +# CHECK: v_sub_u32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x6a,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x6a,0x56,0x34,0x12,0xaf + +# CHECK: v_sub_u32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x6a,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x6a,0x73,0x72,0x71,0x3f + +# CHECK: v_sub_u32_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x6a] +0x01,0xff,0x0b,0x6a + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x6b,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x6b,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x6a,0xff,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x6a,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x6a,0x01,0xe4,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x1b,0x00,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x40,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x41,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x42,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x43,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x30,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x34,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x38,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x3c,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x0f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x11,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x1f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x21,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0x2f,0x01,0x00 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x10 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x30 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0xf0 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x01 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x03 + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x00,0x0f + +# CHECK: v_sub_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x6a,0x01,0xe4,0x08,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0x05,0x02,0x00] +0x05,0x00,0x35,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x35,0xd1,0x01,0x05,0x02,0x00] +0xff,0x00,0x35,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x35,0xd1,0xff,0x05,0x02,0x00] +0x05,0x00,0x35,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x65,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x66,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x67,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x35,0xd1,0x80,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x35,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x35,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x35,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x00,0x35,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xff,0x03,0x00] +0x05,0x00,0x35,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0x05,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xff,0x00,0x00] +0x05,0x00,0x35,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0x01,0x01,0x00] +0x05,0x00,0x35,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0x83,0x01,0x00] +0x05,0x00,0x35,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x00,0x35,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_sub_u32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x35,0xd1,0x01,0xef,0x01,0x00] +0x05,0x00,0x35,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x6b,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x6b,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0xff,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x65,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x66,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x67,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x6a,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x6b,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x7c,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x7e,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6a,0x7f,0x06,0x86,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x6a,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x6a,0x01,0x06,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x26,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x00,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x01,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x02,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x03,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x04,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x05,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x0e,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x16,0x06,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x00,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x01,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x02,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x03,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x04,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x05,0x06 + +# CHECK: v_sub_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x0e,0x06 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x00 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x01 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x02 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x03 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x04 + +# CHECK: v_sub_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x05 + +# CHECK: v_sub_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x6a,0x01,0x06,0x06,0x0e + +# CHECK: v_subb_co_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3a] +0x01,0x05,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3b] +0x01,0x05,0xfe,0x3b + +# CHECK: v_subb_co_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3a] +0xff,0x05,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3a] +0x80,0x04,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3a] +0xc1,0x04,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3a] +0xf0,0x04,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3a] +0xf7,0x04,0x0a,0x3a + +# CHECK: v_subb_co_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3a] +0x01,0xff,0x0b,0x3a + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x3b,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0xff,0xe4,0x00,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x3a,0x01,0xe4,0x00,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x1b,0x00,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x40,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x41,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x42,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x43,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x30,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x34,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x38,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x3c,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x01,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x0f,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x11,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x1f,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x21,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0x2f,0x01,0x00 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x10 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x30 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x01 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x03 + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x00,0x0f + +# CHECK: v_subb_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x3a,0x01,0xe4,0x08,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1d,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1d,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_subb_co_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1d,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x3b,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0xff,0x06,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x3a,0x01,0x06,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x26,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x00,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x01,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x02,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x03,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x04,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x05,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x0e,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x16,0x06,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x00,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x01,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x02,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x03,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x04,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x05,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x0e,0x06 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x00 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x01 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x02 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x03 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x04 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x05 + +# CHECK: v_subb_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x3a,0x01,0x06,0x06,0x0e + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0x0a,0x3c] +0x01,0x05,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v255, vcc, v1, v2, vcc ; encoding: [0x01,0x05,0xfe,0x3d] +0x01,0x05,0xfe,0x3d + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, v255, v2, vcc ; encoding: [0xff,0x05,0x0a,0x3c] +0xff,0x05,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, 0, v2, vcc ; encoding: [0x80,0x04,0x0a,0x3c] +0x80,0x04,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, -1, v2, vcc ; encoding: [0xc1,0x04,0x0a,0x3c] +0xc1,0x04,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, 0.5, v2, vcc ; encoding: [0xf0,0x04,0x0a,0x3c] +0xf0,0x04,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, -4.0, v2, vcc ; encoding: [0xf7,0x04,0x0a,0x3c] +0xf7,0x04,0x0a,0x3c + +# CHECK: v_subbrev_co_u32_e32 v5, vcc, v1, v255, vcc ; encoding: [0x01,0xff,0x0b,0x3c] +0x01,0xff,0x0b,0x3c + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_co_u32_dpp v255, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x3d,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v255, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0xff,0xe4,0x00,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v255, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x3c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x1b,0x00,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x40,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x41,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x42,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x43,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x30,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x34,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x38,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x3c,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x01,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x0f,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x11,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x1f,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x21,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0x2f,0x01,0x00 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x10 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x30 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x01 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x03 + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x00,0x0f + +# CHECK: v_subbrev_co_u32_dpp v5, vcc, v1, v2, vcc quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x3c,0x01,0xe4,0x08,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v255, s[12:13], v1, v2, s[6:7] ; encoding: [0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0xff,0x0c,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[14:15], v1, v2, s[6:7] ; encoding: [0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x0e,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[100:101], v1, v2, s[6:7] ; encoding: [0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x64,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, flat_scratch, v1, v2, s[6:7] ; encoding: [0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x66,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, vcc, v1, v2, s[6:7] ; encoding: [0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00] +0x05,0x6a,0x1e,0xd1,0x01,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v255, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xff,0x05,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], 0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0x80,0x04,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], -1, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xc1,0x04,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], 0.5, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xf0,0x04,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], -4.0, v2, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00] +0x05,0x0c,0x1e,0xd1,0xf7,0x04,0x1a,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v255, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xff,0x1b,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, 0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x01,0x19,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, -1, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x83,0x19,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, 0.5, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xe1,0x19,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, -4.0, s[6:7] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0xef,0x19,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[8:9] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x22,0x00 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, s[100:101] ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x92,0x01 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, flat_scratch ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0x9a,0x01 + +# CHECK: v_subbrev_co_u32_e64 v5, s[12:13], v1, v2, vcc ; encoding: [0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01] +0x05,0x0c,0x1e,0xd1,0x01,0x05,0xaa,0x01 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v255, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x3d,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v255, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0xff,0x06,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v255, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x3c,0x01,0x06,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x26,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x00,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x01,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x02,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x03,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x04,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x05,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x0e,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x16,0x06,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x00,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x01,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x02,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x03,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x04,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x05,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, sext(v1), v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x0e,0x06 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x00 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x01 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x02 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x03 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x04 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, v2, vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x05 + +# CHECK: v_subbrev_co_u32_sdwa v5, vcc, v1, sext(v2), vcc dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x3c,0x01,0x06,0x06,0x0e + +# CHECK: v_subrev_co_u32_e32 v5, vcc, v1, v2 ; encoding: [0x01,0x05,0x0a,0x36] +0x01,0x05,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v255, vcc, v1, v2 ; encoding: [0x01,0x05,0xfe,0x37] +0x01,0x05,0xfe,0x37 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, v255, v2 ; encoding: [0xff,0x05,0x0a,0x36] +0xff,0x05,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, s1, v2 ; encoding: [0x01,0x04,0x0a,0x36] +0x01,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, s101, v2 ; encoding: [0x65,0x04,0x0a,0x36] +0x65,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x36] +0x66,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x36] +0x67,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x36] +0x6a,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x36] +0x6b,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x36] +0x7c,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x36] +0x7e,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x36] +0x7f,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, 0, v2 ; encoding: [0x80,0x04,0x0a,0x36] +0x80,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x36] +0xc1,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x36] +0xf0,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x36] +0xf7,0x04,0x0a,0x36 + +# CHECK: v_subrev_co_u32_e32 v5, vcc, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x36,0x56,0x34,0x12,0xaf + +# CHECK: v_subrev_co_u32_e32 v5, vcc, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x36,0x73,0x72,0x71,0x3f + +# CHECK: v_subrev_co_u32_e32 v5, vcc, v1, v255 ; encoding: [0x01,0xff,0x0b,0x36] +0x01,0xff,0x0b,0x36 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_co_u32_dpp v255, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x37,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x36,0xff,0xe4,0x00,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x36,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x1b,0x00,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x40,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x41,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x42,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x43,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x30,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x34,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x38,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x3c,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x0f,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x11,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x1f,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x21,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x36,0x01,0x2f,0x01,0x00 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x10 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x30 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x01 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x03 + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x00,0x0f + +# CHECK: v_subrev_co_u32_dpp v5, vcc, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x36,0x01,0xe4,0x08,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v255, s[12:13], v1, v2 ; encoding: [0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00] +0xff,0x0c,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[14:15], v1, v2 ; encoding: [0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x0e,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[100:101], v1, v2 ; encoding: [0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x64,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, flat_scratch, v1, v2 ; encoding: [0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x66,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, vcc, v1, v2 ; encoding: [0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00] +0x05,0x6a,0x1b,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v255, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], s1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], s101, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], flat_scratch_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], flat_scratch_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], vcc_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], vcc_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], m0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], exec_lo, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], exec_hi, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], 0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], -1, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], 0.5, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], -4.0, v2 ; encoding: [0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x0c,0x1b,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, v255 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, s2 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, s101 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, flat_scratch_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, flat_scratch_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, vcc_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, vcc_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, m0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, exec_lo ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, exec_hi ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, 0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, -1 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, 0.5 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_subrev_co_u32_e64 v5, s[12:13], v1, -4.0 ; encoding: [0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00] +0x05,0x0c,0x1b,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v255, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x37,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x36,0xff,0x06,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x65,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x66,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x67,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x6a,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x6b,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x7c,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x7e,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x36,0x7f,0x06,0x86,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x36,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x26,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x00,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x01,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x02,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x03,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x04,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x05,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x0e,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x16,0x06,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x00,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x01,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x02,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x03,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x04,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x05,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x0e,0x06 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x00 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x01 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x02 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x03 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x04 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x05 + +# CHECK: v_subrev_co_u32_sdwa v5, vcc, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x36,0x01,0x06,0x06,0x0e + +# CHECK: v_subrev_u32_e32 v5, v1, v2 ; encoding: [0x01,0x05,0x0a,0x6c] +0x01,0x05,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v255, v1, v2 ; encoding: [0x01,0x05,0xfe,0x6d] +0x01,0x05,0xfe,0x6d + +# CHECK: v_subrev_u32_e32 v5, v255, v2 ; encoding: [0xff,0x05,0x0a,0x6c] +0xff,0x05,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, s1, v2 ; encoding: [0x01,0x04,0x0a,0x6c] +0x01,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, s101, v2 ; encoding: [0x65,0x04,0x0a,0x6c] +0x65,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, flat_scratch_lo, v2 ; encoding: [0x66,0x04,0x0a,0x6c] +0x66,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, flat_scratch_hi, v2 ; encoding: [0x67,0x04,0x0a,0x6c] +0x67,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, vcc_lo, v2 ; encoding: [0x6a,0x04,0x0a,0x6c] +0x6a,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, vcc_hi, v2 ; encoding: [0x6b,0x04,0x0a,0x6c] +0x6b,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, m0, v2 ; encoding: [0x7c,0x04,0x0a,0x6c] +0x7c,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, exec_lo, v2 ; encoding: [0x7e,0x04,0x0a,0x6c] +0x7e,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, exec_hi, v2 ; encoding: [0x7f,0x04,0x0a,0x6c] +0x7f,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, 0, v2 ; encoding: [0x80,0x04,0x0a,0x6c] +0x80,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, -1, v2 ; encoding: [0xc1,0x04,0x0a,0x6c] +0xc1,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, 0.5, v2 ; encoding: [0xf0,0x04,0x0a,0x6c] +0xf0,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, -4.0, v2 ; encoding: [0xf7,0x04,0x0a,0x6c] +0xf7,0x04,0x0a,0x6c + +# CHECK: v_subrev_u32_e32 v5, 0xaf123456, v2 ; encoding: [0xff,0x04,0x0a,0x6c,0x56,0x34,0x12,0xaf] +0xff,0x04,0x0a,0x6c,0x56,0x34,0x12,0xaf + +# CHECK: v_subrev_u32_e32 v5, 0x3f717273, v2 ; encoding: [0xff,0x04,0x0a,0x6c,0x73,0x72,0x71,0x3f] +0xff,0x04,0x0a,0x6c,0x73,0x72,0x71,0x3f + +# CHECK: v_subrev_u32_e32 v5, v1, v255 ; encoding: [0x01,0xff,0x0b,0x6c] +0x01,0xff,0x0b,0x6c + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v255, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0xfe,0x6d,0x01,0xe4,0x00,0x00] +0xfa,0x04,0xfe,0x6d,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, v255, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0xff,0xe4,0x00,0x00] +0xfa,0x04,0x0a,0x6c,0xff,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v255 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0xfe,0x0b,0x6c,0x01,0xe4,0x00,0x00] +0xfa,0xfe,0x0b,0x6c,0x01,0xe4,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[3,2,1,0] row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x1b,0x00,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x1b,0x00,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x40,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x40,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_half_mirror row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x41,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x41,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_bcast:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x42,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x42,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_bcast:31 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x43,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x43,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 wave_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x30,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x30,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 wave_rol:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x34,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x34,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 wave_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x38,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x38,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 wave_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x3c,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x3c,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_shl:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x01,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_shl:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x0f,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x0f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_shr:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x11,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x11,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_shr:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x1f,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x1f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_ror:1 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x21,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x21,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 row_ror:15 row_mask:0x0 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0x2f,0x01,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0x2f,0x01,0x00 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x1 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x10] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x10 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x3 bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x30] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x30 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0xf bank_mask:0x0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0xf0] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0xf0 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x1 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x01] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x01 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x3 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x03] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x03 + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0xf ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x0f] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x00,0x0f + +# CHECK: v_subrev_u32_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 bound_ctrl:0 ; encoding: [0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x08,0x00] +0xfa,0x04,0x0a,0x6c,0x01,0xe4,0x08,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0x05,0x02,0x00] +0x05,0x00,0x36,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v255, v1, v2 ; encoding: [0xff,0x00,0x36,0xd1,0x01,0x05,0x02,0x00] +0xff,0x00,0x36,0xd1,0x01,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, v255, v2 ; encoding: [0x05,0x00,0x36,0xd1,0xff,0x05,0x02,0x00] +0x05,0x00,0x36,0xd1,0xff,0x05,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s1, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x01,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, s101, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x65,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x65,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, flat_scratch_lo, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x66,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x66,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, flat_scratch_hi, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x67,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x67,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, vcc_lo, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x6a,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x6a,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, vcc_hi, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x6b,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x6b,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, m0, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x7c,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x7c,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, exec_lo, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x7e,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x7e,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, exec_hi, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x7f,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x7f,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, 0, v2 ; encoding: [0x05,0x00,0x36,0xd1,0x80,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0x80,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, -1, v2 ; encoding: [0x05,0x00,0x36,0xd1,0xc1,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0xc1,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, 0.5, v2 ; encoding: [0x05,0x00,0x36,0xd1,0xf0,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0xf0,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, -4.0, v2 ; encoding: [0x05,0x00,0x36,0xd1,0xf7,0x04,0x02,0x00] +0x05,0x00,0x36,0xd1,0xf7,0x04,0x02,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, v255 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xff,0x03,0x00] +0x05,0x00,0x36,0xd1,0x01,0xff,0x03,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, s2 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0x05,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0x05,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, s101 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xcb,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xcb,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, flat_scratch_lo ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xcd,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xcd,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, flat_scratch_hi ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xcf,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xcf,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, vcc_lo ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xd5,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xd5,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, vcc_hi ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xd7,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xd7,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, m0 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xf9,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xf9,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, exec_lo ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xfd,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xfd,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, exec_hi ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xff,0x00,0x00] +0x05,0x00,0x36,0xd1,0x01,0xff,0x00,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, 0 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0x01,0x01,0x00] +0x05,0x00,0x36,0xd1,0x01,0x01,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, -1 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0x83,0x01,0x00] +0x05,0x00,0x36,0xd1,0x01,0x83,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, 0.5 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xe1,0x01,0x00] +0x05,0x00,0x36,0xd1,0x01,0xe1,0x01,0x00 + +# CHECK: v_subrev_u32_e64 v5, v1, -4.0 ; encoding: [0x05,0x00,0x36,0xd1,0x01,0xef,0x01,0x00] +0x05,0x00,0x36,0xd1,0x01,0xef,0x01,0x00 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v255, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0xfe,0x6d,0x01,0x06,0x06,0x06] +0xf9,0x04,0xfe,0x6d,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v255, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0xff,0x06,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0xff,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, s1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, s101, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x65,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x65,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, flat_scratch_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x66,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x66,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, flat_scratch_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x67,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x67,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x6a,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x6a,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, vcc_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x6b,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x6b,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, m0, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x7c,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x7c,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, exec_lo, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x7e,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x7e,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, exec_hi, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x7f,0x06,0x86,0x06] +0xf9,0x04,0x0a,0x6c,0x7f,0x06,0x86,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v255 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0xfe,0x0b,0x6c,0x01,0x06,0x06,0x06] +0xf9,0xfe,0x0b,0x6c,0x01,0x06,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 clamp dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x26,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x26,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x00,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x00,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x01,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x01,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_2 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x02,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x02,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:BYTE_3 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x03,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x03,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:WORD_0 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x04,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x04,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:WORD_1 dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x05,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x05,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_SEXT src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x0e,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x0e,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PRESERVE src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x16,0x06,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x16,0x06,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x00,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x00,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x01,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x01,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_2 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x02,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x02,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:BYTE_3 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x03,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x03,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_0 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x04,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x04,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:WORD_1 src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x05,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x05,0x06 + +# CHECK: v_subrev_u32_sdwa v5, sext(v1), v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x0e,0x06] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x0e,0x06 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_0 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x00] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x00 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_1 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x01] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x01 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_2 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x02] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x02 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:BYTE_3 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x03] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x03 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_0 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x04] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x04 + +# CHECK: v_subrev_u32_sdwa v5, v1, v2 dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:WORD_1 ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x05] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x05 + +# CHECK: v_subrev_u32_sdwa v5, v1, sext(v2) dst_sel:DWORD dst_unused:UNUSED_PAD src0_sel:DWORD src1_sel:DWORD ; encoding: [0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x0e] +0xf9,0x04,0x0a,0x6c,0x01,0x06,0x06,0x0e