1 // RUN
: llvm-mc
-triple
=amdgcn
-mcpu
=gfx1200
-mattr
=+wavefrontsize32
,+real-true16
-show-encoding
%s | FileCheck
--check-prefixes
=GFX12
%s
3 v_min3_f32 v5
, v1
, v2
, v3
4 // GFX12
: v_min3_num_f32 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0x29,0xd6,0x01,0x05,0x0e,0x04]
6 v_max3_f32 v5
, v1
, v2
, v3
7 // GFX12
: v_max3_num_f32 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0x2a,0xd6,0x01,0x05,0x0e,0x04]
9 v_min3_f16 v5.
l, v1.
l, v2.
l, v3.
l
10 // GFX12
: v_min3_num_f16 v5.
l, v1.
l, v2.
l, v3.
l ; encoding
: [0x05,0x00,0x2b,0xd6,0x01,0x05,0x0e,0x04]
12 v_max3_f16 v5.
l, v1.
l, v2.
l, v3.
l
13 // GFX12
: v_max3_num_f16 v5.
l, v1.
l, v2.
l, v3.
l ; encoding
: [0x05,0x00,0x2c,0xd6,0x01,0x05,0x0e,0x04]
15 v_med3_f32 v5
, v1
, v2
, v3
16 // GFX12
: v_med3_num_f32 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0x31,0xd6,0x01,0x05,0x0e,0x04]
18 v_med3_f16 v5
, v1
, v2
, v3
19 // GFX12
: v_med3_num_f16 v5
, v1
, v2
, v3 ; encoding
: [0x05,0x00,0x32,0xd6,0x01,0x05,0x0e,0x04]
21 v_minmax_f32_e64_dpp v0
, -v1
, -v2
, -v3 dpp8
:[0,1,2,3,4,5,6,7]
22 // GFX12
: v_minmax_num_f32_e64_dpp v0
, -v1
, -v2
, -v3 dpp8
:[0,1,2,3,4,5,6,7] ; encoding
: [0x00,0x00,0x68,0xd6,0xe9,0x04,0x0e,0xe4,0x01,0x88,0xc6,0xfa]
24 v_maxmin_f32_e64_dpp v0
, v1
, v2
, v3 clamp dpp8
:[0,1,2,3,4,5,6,7]
25 // GFX12
: v_maxmin_num_f32_e64_dpp v0
, v1
, v2
, v3 clamp dpp8
:[0,1,2,3,4,5,6,7] ; encoding
: [0x00,0x80,0x69,0xd6,0xe9,0x04,0x0e,0x04,0x01,0x88,0xc6,0xfa]
27 v_minmax_f16_e64_dpp v5.
l, v1.
l, v2.
l, v3.
l quad_perm
:[3,2,1,0]
28 // GFX12
: v_minmax_num_f16_e64_dpp v5.
l, v1.
l, v2.
l, v3.
l quad_perm
:[3,2,1,0] row_mask
:0xf bank_mask
:0xf ; encoding
: [0x05,0x00,0x6a,0xd6,0xfa,0x04,0x0e,0x04,0x01,0x1b,0x00,0xff]
30 v_maxmin_f16_e64_dpp v5.
l, v1.
l, v2.
l, v3.
l quad_perm
:[3,2,1,0]
31 // GFX12
: v_maxmin_num_f16_e64_dpp v5.
l, v1.
l, v2.
l, v3.
l quad_perm
:[3,2,1,0] row_mask
:0xf bank_mask
:0xf ; encoding
: [0x05,0x00,0x6b,0xd6,0xfa,0x04,0x0e,0x04,0x01,0x1b,0x00,0xff]
33 v_mad_i64_i32 v
[5:6], s12
, v1
, v2
, v
[3:4]
34 // GFX12
: v_mad_co_i64_i32 v
[5:6], s12
, v1
, v2
, v
[3:4] ; encoding
: [0x05,0x0c,0xff,0xd6,0x01,0x05,0x0e,0x04]
36 v_mad_u64_u32 v
[5:6], s12
, v1
, v2
, v
[3:4]
37 // GFX12
: v_mad_co_u64_u32 v
[5:6], s12
, v1
, v2
, v
[3:4] ; encoding
: [0x05,0x0c,0xfe,0xd6,0x01,0x05,0x0e,0x04]
39 v_max_f64 v
[5:6], s
[2:3], s
[4:5]
40 // GFX12
: v_max_num_f64_e64 v
[5:6], s
[2:3], s
[4:5] ; encoding
: [0x05,0x00,0x0e,0xd5,0x02,0x08,0x00,0x00]
42 v_min_f64 v
[5:6], s
[2:3], s
[4:5]
43 // GFX12
: v_min_num_f64_e64 v
[5:6], s
[2:3], s
[4:5] ; encoding
: [0x05,0x00,0x0d,0xd5,0x02,0x08,0x00,0x00]
45 v_cvt_pknorm_i16_f16 v5
, v1
, v2
46 // GFX12
: v_cvt_pk_norm_i16_f16 v5
, v1
, v2 ; encoding
: [0x05,0x00,0x12,0xd7,0x01,0x05,0x02,0x00]
48 v_cvt_pknorm_u16_f16 v5
, v1
, v2
49 // GFX12
: v_cvt_pk_norm_u16_f16 v5
, v1
, v2 ; encoding
: [0x05,0x00,0x13,0xd7,0x01,0x05,0x02,0x00]
51 v_add3_nc_u32 v5
, v1
, v2
, s3
52 // GFX12
: v_add3_u32 v5
, v1
, v2
, s3 ; encoding
: [0x05,0x00,0x55,0xd6,0x01,0x05,0x0e,0x00]
54 v_xor_add_u32 v5
, v1
, v2
, s3
55 // GFX12
: v_xad_u32 v5
, v1
, v2
, s3 ; encoding
: [0x05,0x00,0x45,0xd6,0x01,0x05,0x0e,0x00]