1 // RUN
: llvm-mc
-triple
=amdgcn
-show-encoding
%s | FileCheck
-check-prefix
=SI
%s
2 // RUN
: llvm-mc
-triple
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
-check-prefix
=GFX89
%s
3 // RUN
: llvm-mc
-triple
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
-check-prefix
=GFX89
%s
4 // RUN
: llvm-mc
-triple
=amdgcn
-mcpu
=gfx1010
-show-encoding
%s | FileCheck
-check-prefix
=GFX10
%s
6 exp null v4
, v3
, v2
, v1
7 // SI
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
8 // GFX89
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
9 // GFX10
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
11 exp null v4
, v3
, v2
, v1 done
12 // SI
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
13 // GFX89
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
14 // GFX10
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
16 exp param0 v4
, v3
, v2
, v1
17 // SI
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xf8,0x04,0x03,0x02,0x01]
18 // GFX89
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xc4,0x04,0x03,0x02,0x01]
19 // GFX10
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xf8,0x04,0x03,0x02,0x01]
21 exp param0 v4
, v3
, v2
, v1 done
22 // SI
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xf8,0x04,0x03,0x02,0x01]
23 // GFX89
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xc4,0x04,0x03,0x02,0x01]
24 // GFX10
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xf8,0x04,0x03,0x02,0x01]
26 exp param31 v4
, v3
, v2
, v1
27 // SI
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xf8,0x04,0x03,0x02,0x01]
28 // GFX89
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xc4,0x04,0x03,0x02,0x01]
29 // GFX10
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xf8,0x04,0x03,0x02,0x01]
31 exp param31 v4
, v3
, v2
, v1 done
32 // SI
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xf8,0x04,0x03,0x02,0x01]
33 // GFX89
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xc4,0x04,0x03,0x02,0x01]
34 // GFX10
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xf8,0x04,0x03,0x02,0x01]
36 exp mrt0 v4
, v3
, v2
, v1 vm
37 // SI
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xf8,0x04,0x03,0x02,0x01]
38 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xc4,0x04,0x03,0x02,0x01]
39 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xf8,0x04,0x03,0x02,0x01]
41 exp mrt0 v4
, v3
, v2
, v1 done vm
42 // SI
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xf8,0x04,0x03,0x02,0x01]
43 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xc4,0x04,0x03,0x02,0x01]
44 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xf8,0x04,0x03,0x02,0x01]
46 exp mrtz
, v3
, v3
, v7
, v7 compr
47 // SI
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xf8,0x03,0x07,0x00,0x00]
48 // GFX89
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xc4,0x03,0x07,0x00,0x00]
49 // GFX10
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xf8,0x03,0x07,0x00,0x00]
51 exp mrtz
, off
, off
, v7
, v7 compr
52 // SI
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xf8,0x00,0x07,0x00,0x00]
53 // GFX89
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xc4,0x00,0x07,0x00,0x00]
54 // GFX10
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xf8,0x00,0x07,0x00,0x00]
56 exp mrtz
, v3
, v3
, off
, off compr
57 // SI
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xf8,0x03,0x00,0x00,0x00]
58 // GFX89
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xc4,0x03,0x00,0x00,0x00]
59 // GFX10
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xf8,0x03,0x00,0x00,0x00]