1 // RUN
: llvm-mc
-arch
=amdgcn
-show-encoding
%s | FileCheck
-check-prefix
=SI
%s
2 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=tonga
-show-encoding
%s | FileCheck
-check-prefix
=GFX89
%s
3 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=gfx900
-show-encoding
%s | FileCheck
-check-prefix
=GFX89
%s
4 // RUN
: llvm-mc
-arch
=amdgcn
-mcpu
=gfx1010
-show-encoding
%s | FileCheck
-check-prefix
=GFX10
%s
6 exp mrt0 off
, off
, off
, off
7 // SI
: exp mrt0 off
, off
, off
, off ; encoding
: [0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
8 // GFX89
: exp mrt0 off
, off
, off
, off ; encoding
: [0x00,0x00,0x00,0xc4,0x00,0x00,0x00,0x00]
9 // GFX10
: exp mrt0 off
, off
, off
, off ; encoding
: [0x00,0x00,0x00,0xf8,0x00,0x00,0x00,0x00]
11 exp mrt0 off
, off
, off
, off done
12 // SI
: exp mrt0 off
, off
, off
, off done ; encoding
: [0x00,0x08,0x00,0xf8,0x00,0x00,0x00,0x00]
13 // GFX89
: exp mrt0 off
, off
, off
, off done ; encoding
: [0x00,0x08,0x00,0xc4,0x00,0x00,0x00,0x00]
14 // GFX10
: exp mrt0 off
, off
, off
, off done ; encoding
: [0x00,0x08,0x00,0xf8,0x00,0x00,0x00,0x00]
16 exp mrt0 v4
, off
, off
, off done
17 // SI
: exp mrt0 v4
, off
, off
, off done ; encoding
: [0x01,0x08,0x00,0xf8,0x04,0x00,0x00,0x00]
18 // GFX89
: exp mrt0 v4
, off
, off
, off done ; encoding
: [0x01,0x08,0x00,0xc4,0x04,0x00,0x00,0x00]
19 // GFX10
: exp mrt0 v4
, off
, off
, off done ; encoding
: [0x01,0x08,0x00,0xf8,0x04,0x00,0x00,0x00]
21 exp mrt0 off
, v3
, off
, off done
22 // SI
: exp mrt0 off
, v3
, off
, off done ; encoding
: [0x02,0x08,0x00,0xf8,0x00,0x03,0x00,0x00]
23 // GFX89
: exp mrt0 off
, v3
, off
, off done ; encoding
: [0x02,0x08,0x00,0xc4,0x00,0x03,0x00,0x00]
24 // GFX10
: exp mrt0 off
, v3
, off
, off done ; encoding
: [0x02,0x08,0x00,0xf8,0x00,0x03,0x00,0x00]
26 exp mrt0 off
, off
, v2
, off done
27 // SI
: exp mrt0 off
, off
, v2
, off done ; encoding
: [0x04,0x08,0x00,0xf8,0x00,0x00,0x02,0x00]
28 // GFX89
: exp mrt0 off
, off
, v2
, off done ; encoding
: [0x04,0x08,0x00,0xc4,0x00,0x00,0x02,0x00]
29 // GFX10
: exp mrt0 off
, off
, v2
, off done ; encoding
: [0x04,0x08,0x00,0xf8,0x00,0x00,0x02,0x00]
31 exp mrt0 off
, off
, off
, v1 done
32 // SI
: exp mrt0 off
, off
, off
, v1 done ; encoding
: [0x08,0x08,0x00,0xf8,0x00,0x00,0x00,0x01]
33 // GFX89
: exp mrt0 off
, off
, off
, v1 done ; encoding
: [0x08,0x08,0x00,0xc4,0x00,0x00,0x00,0x01]
34 // GFX10
: exp mrt0 off
, off
, off
, v1 done ; encoding
: [0x08,0x08,0x00,0xf8,0x00,0x00,0x00,0x01]
36 exp mrt0 v4
, v3
, off
, off done
37 // SI
: exp mrt0 v4
, v3
, off
, off done ; encoding
: [0x03,0x08,0x00,0xf8,0x04,0x03,0x00,0x00]
38 // GFX89
: exp mrt0 v4
, v3
, off
, off done ; encoding
: [0x03,0x08,0x00,0xc4,0x04,0x03,0x00,0x00]
39 // GFX10
: exp mrt0 v4
, v3
, off
, off done ; encoding
: [0x03,0x08,0x00,0xf8,0x04,0x03,0x00,0x00]
41 exp mrt0 v4
, off
, v2
, off done
42 // SI
: exp mrt0 v4
, off
, v2
, off done ; encoding
: [0x05,0x08,0x00,0xf8,0x04,0x00,0x02,0x00]
43 // GFX89
: exp mrt0 v4
, off
, v2
, off done ; encoding
: [0x05,0x08,0x00,0xc4,0x04,0x00,0x02,0x00]
44 // GFX10
: exp mrt0 v4
, off
, v2
, off done ; encoding
: [0x05,0x08,0x00,0xf8,0x04,0x00,0x02,0x00]
46 exp mrt0 v4
, off
, off
, v1
47 // SI
: exp mrt0 v4
, off
, off
, v1 ; encoding
: [0x09,0x00,0x00,0xf8,0x04,0x00,0x00,0x01]
48 // GFX89
: exp mrt0 v4
, off
, off
, v1 ; encoding
: [0x09,0x00,0x00,0xc4,0x04,0x00,0x00,0x01]
49 // GFX10
: exp mrt0 v4
, off
, off
, v1 ; encoding
: [0x09,0x00,0x00,0xf8,0x04,0x00,0x00,0x01]
51 exp mrt0 v4
, off
, off
, v1 done
52 // SI
: exp mrt0 v4
, off
, off
, v1 done ; encoding
: [0x09,0x08,0x00,0xf8,0x04,0x00,0x00,0x01]
53 // GFX89
: exp mrt0 v4
, off
, off
, v1 done ; encoding
: [0x09,0x08,0x00,0xc4,0x04,0x00,0x00,0x01]
54 // GFX10
: exp mrt0 v4
, off
, off
, v1 done ; encoding
: [0x09,0x08,0x00,0xf8,0x04,0x00,0x00,0x01]
56 exp mrt0 v4
, v3
, v2
, v1
57 // SI
: exp mrt0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
58 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
59 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
61 exp mrt0 v4
, v3
, v2
, v1 done
62 // SI
: exp mrt0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
63 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
64 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
66 exp mrt7 v1
, v1
, v1
, v1
67 // SI
: exp mrt7 v1
, v1
, v1
, v1 ; encoding
: [0x7f,0x00,0x00,0xf8,0x01,0x01,0x01,0x01]
68 // GFX89
: exp mrt7 v1
, v1
, v1
, v1 ; encoding
: [0x7f,0x00,0x00,0xc4,0x01,0x01,0x01,0x01]
69 // GFX10
: exp mrt7 v1
, v1
, v1
, v1 ; encoding
: [0x7f,0x00,0x00,0xf8,0x01,0x01,0x01,0x01]
71 exp mrt7 v1
, v1
, v1
, v1 done
72 // SI
: exp mrt7 v1
, v1
, v1
, v1 done ; encoding
: [0x7f,0x08,0x00,0xf8,0x01,0x01,0x01,0x01]
73 // GFX89
: exp mrt7 v1
, v1
, v1
, v1 done ; encoding
: [0x7f,0x08,0x00,0xc4,0x01,0x01,0x01,0x01]
74 // GFX10
: exp mrt7 v1
, v1
, v1
, v1 done ; encoding
: [0x7f,0x08,0x00,0xf8,0x01,0x01,0x01,0x01]
76 exp mrtz v4
, v3
, v2
, v1
77 // SI
: exp mrtz v4
, v3
, v2
, v1 ; encoding
: [0x8f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
78 // GFX89
: exp mrtz v4
, v3
, v2
, v1 ; encoding
: [0x8f,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
79 // GFX10
: exp mrtz v4
, v3
, v2
, v1 ; encoding
: [0x8f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
81 exp mrtz v4
, v3
, v2
, v1 done
82 // SI
: exp mrtz v4
, v3
, v2
, v1 done ; encoding
: [0x8f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
83 // GFX89
: exp mrtz v4
, v3
, v2
, v1 done ; encoding
: [0x8f,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
84 // GFX10
: exp mrtz v4
, v3
, v2
, v1 done ; encoding
: [0x8f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
86 exp null v4
, v3
, v2
, v1
87 // SI
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
88 // GFX89
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
89 // GFX10
: exp null v4
, v3
, v2
, v1 ; encoding
: [0x9f,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
91 exp null v4
, v3
, v2
, v1 done
92 // SI
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
93 // GFX89
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
94 // GFX10
: exp null v4
, v3
, v2
, v1 done ; encoding
: [0x9f,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
96 exp pos0 v4
, v3
, v2
, v1
97 // SI
: exp pos0 v4
, v3
, v2
, v1 ; encoding
: [0xcf,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
98 // GFX89
: exp pos0 v4
, v3
, v2
, v1 ; encoding
: [0xcf,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
99 // GFX10
: exp pos0 v4
, v3
, v2
, v1 ; encoding
: [0xcf,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
101 exp pos0 v4
, v3
, v2
, v1 done
102 // SI
: exp pos0 v4
, v3
, v2
, v1 done ; encoding
: [0xcf,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
103 // GFX89
: exp pos0 v4
, v3
, v2
, v1 done ; encoding
: [0xcf,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
104 // GFX10
: exp pos0 v4
, v3
, v2
, v1 done ; encoding
: [0xcf,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
106 exp pos3 v4
, v3
, v2
, v1
107 // SI
: exp pos3 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
108 // GFX89
: exp pos3 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x00,0x00,0xc4,0x04,0x03,0x02,0x01]
109 // GFX10
: exp pos3 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x00,0x00,0xf8,0x04,0x03,0x02,0x01]
111 exp pos3 v4
, v3
, v2
, v1 done
112 // SI
: exp pos3 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
113 // GFX89
: exp pos3 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x08,0x00,0xc4,0x04,0x03,0x02,0x01]
114 // GFX10
: exp pos3 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x08,0x00,0xf8,0x04,0x03,0x02,0x01]
116 exp param0 v4
, v3
, v2
, v1
117 // SI
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xf8,0x04,0x03,0x02,0x01]
118 // GFX89
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xc4,0x04,0x03,0x02,0x01]
119 // GFX10
: exp param0 v4
, v3
, v2
, v1 ; encoding
: [0x0f,0x02,0x00,0xf8,0x04,0x03,0x02,0x01]
121 exp param0 v4
, v3
, v2
, v1 done
122 // SI
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xf8,0x04,0x03,0x02,0x01]
123 // GFX89
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xc4,0x04,0x03,0x02,0x01]
124 // GFX10
: exp param0 v4
, v3
, v2
, v1 done ; encoding
: [0x0f,0x0a,0x00,0xf8,0x04,0x03,0x02,0x01]
126 exp param31 v4
, v3
, v2
, v1
127 // SI
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xf8,0x04,0x03,0x02,0x01]
128 // GFX89
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xc4,0x04,0x03,0x02,0x01]
129 // GFX10
: exp param31 v4
, v3
, v2
, v1 ; encoding
: [0xff,0x03,0x00,0xf8,0x04,0x03,0x02,0x01]
131 exp param31 v4
, v3
, v2
, v1 done
132 // SI
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xf8,0x04,0x03,0x02,0x01]
133 // GFX89
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xc4,0x04,0x03,0x02,0x01]
134 // GFX10
: exp param31 v4
, v3
, v2
, v1 done ; encoding
: [0xff,0x0b,0x00,0xf8,0x04,0x03,0x02,0x01]
136 exp mrt0 v4
, v3
, v2
, v1 vm
137 // SI
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xf8,0x04,0x03,0x02,0x01]
138 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xc4,0x04,0x03,0x02,0x01]
139 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 vm ; encoding
: [0x0f,0x10,0x00,0xf8,0x04,0x03,0x02,0x01]
141 exp mrt0 v4
, v3
, v2
, v1 done vm
142 // SI
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xf8,0x04,0x03,0x02,0x01]
143 // GFX89
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xc4,0x04,0x03,0x02,0x01]
144 // GFX10
: exp mrt0 v4
, v3
, v2
, v1 done vm ; encoding
: [0x0f,0x18,0x00,0xf8,0x04,0x03,0x02,0x01]
146 exp mrtz
, v3
, v3
, v7
, v7 compr
147 // SI
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xf8,0x03,0x07,0x00,0x00]
148 // GFX89
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xc4,0x03,0x07,0x00,0x00]
149 // GFX10
: exp mrtz v3
, v3
, v7
, v7 compr ; encoding
: [0x8f,0x04,0x00,0xf8,0x03,0x07,0x00,0x00]
151 exp mrtz
, off
, off
, v7
, v7 compr
152 // SI
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xf8,0x00,0x07,0x00,0x00]
153 // GFX89
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xc4,0x00,0x07,0x00,0x00]
154 // GFX10
: exp mrtz off
, off
, v7
, v7 compr ; encoding
: [0x8c,0x04,0x00,0xf8,0x00,0x07,0x00,0x00]
156 exp mrtz
, v3
, v3
, off
, off compr
157 // SI
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xf8,0x03,0x00,0x00,0x00]
158 // GFX89
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xc4,0x03,0x00,0x00,0x00]
159 // GFX10
: exp mrtz v3
, v3
, off
, off compr ; encoding
: [0x83,0x04,0x00,0xf8,0x03,0x00,0x00,0x00]