1# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1011 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
2# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1012 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
3# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1030 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
4# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1031 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
5# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1032 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
6# RUN: llvm-mc -arch=amdgcn -mcpu=gfx1033 -disassemble -show-encoding < %s | FileCheck -check-prefix=GFX10 %s
7
8# GFX10: v_dot2_f32_f16 v0, v1, v2, v3   ; encoding: [0x00,0x40,0x13,0xcc,0x01,0x05,0x0e,0x1c]
90x00,0x40,0x13,0xcc,0x01,0x05,0x0e,0x1c
10
11# GFX10: v_dot2_i32_i16 v0, v1, v2, v3   ; encoding: [0x00,0x40,0x14,0xcc,0x01,0x05,0x0e,0x1c]
120x00,0x40,0x14,0xcc,0x01,0x05,0x0e,0x1c
13
14# GFX10: v_dot2_u32_u16 v0, v1, v2, v3   ; encoding: [0x00,0x40,0x15,0xcc,0x01,0x05,0x0e,0x1c]
150x00,0x40,0x15,0xcc,0x01,0x05,0x0e,0x1c
16
17# GFX10: v_dot4_i32_i8 v0, v1, v2, v3    ; encoding: [0x00,0x40,0x16,0xcc,0x01,0x05,0x0e,0x1c]
180x00,0x40,0x16,0xcc,0x01,0x05,0x0e,0x1c
19
20# GFX10: v_dot4_u32_u8 v0, v1, v2, v3    ; encoding: [0x00,0x40,0x17,0xcc,0x01,0x05,0x0e,0x1c]
210x00,0x40,0x17,0xcc,0x01,0x05,0x0e,0x1c
22
23# GFX10: v_dot8_i32_i4 v0, v1, v2, v3    ; encoding: [0x00,0x40,0x18,0xcc,0x01,0x05,0x0e,0x1c]
240x00,0x40,0x18,0xcc,0x01,0x05,0x0e,0x1c
25
26# GFX10: v_dot8_u32_u4 v0, v1, v2, v3    ; encoding: [0x00,0x40,0x19,0xcc,0x01,0x05,0x0e,0x1c]
270x00,0x40,0x19,0xcc,0x01,0x05,0x0e,0x1c
28
29# GFX10: v_dot2c_f32_f16_e32 v5, v1, v2
300x01,0x05,0x0a,0x04
31
32# GFX10: v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
330xfa,0x04,0x0a,0x04,0x01,0xe4,0x00,0x00
34
35# GFX10: v_dot2c_f32_f16_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
360xfa,0x04,0x0a,0x04,0x01,0xe4,0x04,0x00
37
38# GFX10: v_dot2c_f32_f16_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
390xe9,0x04,0x0a,0x04,0x01,0x77,0x39,0x05
40
41# GFX10: v_dot2c_f32_f16_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
420xea,0x04,0x0a,0x04,0x01,0x77,0x39,0x05
43
44# GFX10: v_dot4c_i32_i8_e32 v5, v1, v2
450x01,0x05,0x0a,0x1a
46
47# GFX10: v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0
480xfa,0x04,0x0a,0x1a,0x01,0xe4,0x00,0x00
49
50# GFX10: v_dot4c_i32_i8_dpp v5, v1, v2 quad_perm:[0,1,2,3] row_mask:0x0 bank_mask:0x0 fi:1
510xfa,0x04,0x0a,0x1a,0x01,0xe4,0x04,0x00
52
53# GFX10: v_dot4c_i32_i8_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0]
540xe9,0x04,0x0a,0x1a,0x01,0x77,0x39,0x05
55
56# GFX10: v_dot4c_i32_i8_dpp v5, v1, v2 dpp8:[7,6,5,4,3,2,1,0] fi:1
570xea,0x04,0x0a,0x1a,0x01,0x77,0x39,0x05
58