1 // RUN
: llvm-mc
-triple x86_64-unknown-unknown
-show-encoding
%s | FileCheck
%s
2 // some AMX instruction must use SIB.
5 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0xc0]
8 // CHECK
: tilezero
%tmm6
9 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xf0]
12 // CHECK
: tilezero
%tmm3
13 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xd8]
17 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0xc0]
20 // CHECK
: tilezero
%tmm6
21 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xf0]
24 // CHECK
: tilezero
%tmm3
25 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xd8]
28 // CHECK
: ldtilecfg
268435456(%rbp
,%r14,8)
29 // CHECK
: encoding
: [0xc4,0xa2,0x78,0x49,0x84,0xf5,0x00,0x00,0x00,0x10]
30 ldtilecfg
268435456(%rbp
,%r14,8)
32 // CHECK
: ldtilecfg
291(%r8,%rax
,4)
33 // CHECK
: encoding
: [0xc4,0xc2,0x78,0x49,0x84,0x80,0x23,0x01,0x00,0x00]
34 ldtilecfg
291(%r8,%rax
,4)
36 // CHECK
: ldtilecfg
(%rip
)
37 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0x05,0x00,0x00,0x00,0x00]
40 // CHECK
: ldtilecfg
-2048(,%rbp
,2)
41 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]
42 ldtilecfg
-2048(,%rbp
,2)
44 // CHECK
: sttilecfg
268435456(%rbp
,%r14,8)
45 // CHECK
: encoding
: [0xc4,0xa2,0x79,0x49,0x84,0xf5,0x00,0x00,0x00,0x10]
46 sttilecfg
268435456(%rbp
,%r14,8)
48 // CHECK
: sttilecfg
291(%r8,%rax
,4)
49 // CHECK
: encoding
: [0xc4,0xc2,0x79,0x49,0x84,0x80,0x23,0x01,0x00,0x00]
50 sttilecfg
291(%r8,%rax
,4)
52 // CHECK
: sttilecfg
(%rip
)
53 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x49,0x05,0x00,0x00,0x00,0x00]
56 // CHECK
: sttilecfg
-2048(,%rbp
,2)
57 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]
58 sttilecfg
-2048(,%rbp
,2)
60 // CHECK
: tileloadd
268435456(%rbp
,%r14,8), %tmm6
61 // CHECK
: encoding
: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
62 tileloadd
268435456(%rbp
,%r14,8), %tmm6
64 // CHECK
: tileloadd
291(%r8,%rax
,4), %tmm3
65 // CHECK
: encoding
: [0xc4,0xc2,0x7b,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
66 tileloadd
291(%r8,%rax
,4), %tmm3
68 // CHECK
: tileloadd
64(%rbx
), %tmm4
69 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x4b,0x64,0x23,0x40]
70 tileloadd
64(%rbx
), %tmm4
72 // CHECK
: tileloadd
-32(,%rbp
,2), %tmm3
73 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
74 tileloadd
-32(,%rbp
,2), %tmm3
76 // CHECK
: tileloaddt1
268435456(%rbp
,%r14,8), %tmm6
77 // CHECK
: encoding
: [0xc4,0xa2,0x79,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
78 tileloaddt1
268435456(%rbp
,%r14,8), %tmm6
80 // CHECK
: tileloaddt1
291(%r8,%rax
,4), %tmm3
81 // CHECK
: encoding
: [0xc4,0xc2,0x79,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
82 tileloaddt1
291(%r8,%rax
,4), %tmm3
84 // CHECK
: tileloaddt1
-32(,%rbp
,2), %tmm3
85 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
86 tileloaddt1
-32(,%rbp
,2), %tmm3
88 // CHECK
: tileloaddt1
16(%rbp
), %tmm6
89 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x4b,0x74,0x25,0x10]
90 tileloaddt1
16(%rbp
), %tmm6
93 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0xc0]
96 // CHECK
: tilestored
%tmm6
, 268435456(%rbp
,%r14,8)
97 // CHECK
: encoding
: [0xc4,0xa2,0x7a,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
98 tilestored
%tmm6
, 268435456(%rbp
,%r14,8)
100 // CHECK
: tilestored
%tmm3
, 291(%r8,%rax
,4)
101 // CHECK
: encoding
: [0xc4,0xc2,0x7a,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
102 tilestored
%tmm3
, 291(%r8,%rax
,4)
104 // CHECK
: tilestored
%tmm3
, -32(,%rbp
,2)
105 // CHECK
: encoding
: [0xc4,0xe2,0x7a,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
106 tilestored
%tmm3
, -32(,%rbp
,2)
108 // CHECK
: tilestored
%tmm3
, (%r8)
109 // CHECK
: encoding
: [0xc4,0xc2,0x7a,0x4b,0x1c,0x20]
110 tilestored
%tmm3
, (%r8)
112 // CHECK
: tilezero
%tmm6
113 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xf0]
116 // CHECK
: tilezero
%tmm3
117 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xd8]
120 // CHECK
: ldtilecfg
268435456(%rbp
,%r14,8)
121 // CHECK
: encoding
: [0xc4,0xa2,0x78,0x49,0x84,0xf5,0x00,0x00,0x00,0x10]
122 ldtilecfg
268435456(%rbp
,%r14,8)
124 // CHECK
: ldtilecfg
291(%r8,%rax
,4)
125 // CHECK
: encoding
: [0xc4,0xc2,0x78,0x49,0x84,0x80,0x23,0x01,0x00,0x00]
126 ldtilecfg
291(%r8,%rax
,4)
128 // CHECK
: ldtilecfg
(%rip
)
129 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0x05,0x00,0x00,0x00,0x00]
132 // CHECK
: ldtilecfg
-2048(,%rbp
,2)
133 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]
134 ldtilecfg
-2048(,%rbp
,2)
136 // CHECK
: sttilecfg
268435456(%rbp
,%r14,8)
137 // CHECK
: encoding
: [0xc4,0xa2,0x79,0x49,0x84,0xf5,0x00,0x00,0x00,0x10]
138 sttilecfg
268435456(%rbp
,%r14,8)
140 // CHECK
: sttilecfg
291(%r8,%rax
,4)
141 // CHECK
: encoding
: [0xc4,0xc2,0x79,0x49,0x84,0x80,0x23,0x01,0x00,0x00]
142 sttilecfg
291(%r8,%rax
,4)
144 // CHECK
: sttilecfg
(%rip
)
145 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x49,0x05,0x00,0x00,0x00,0x00]
148 // CHECK
: sttilecfg
-2048(,%rbp
,2)
149 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]
150 sttilecfg
-2048(,%rbp
,2)
152 // CHECK
: tileloadd
268435456(%rbp
,%r14,8), %tmm6
153 // CHECK
: encoding
: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
154 tileloadd
268435456(%rbp
,%r14,8), %tmm6
156 // CHECK
: tileloadd
291(%r8,%rax
,4), %tmm3
157 // CHECK
: encoding
: [0xc4,0xc2,0x7b,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
158 tileloadd
291(%r8,%rax
,4), %tmm3
160 // CHECK
: tileloadd
-32(,%rbp
,2), %tmm3
161 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
162 tileloadd
-32(,%rbp
,2), %tmm3
164 // CHECK
: tileloaddt1
268435456(%rbp
,%r14,8), %tmm6
165 // CHECK
: encoding
: [0xc4,0xa2,0x79,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
166 tileloaddt1
268435456(%rbp
,%r14,8), %tmm6
168 // CHECK
: tileloaddt1
291(%r8,%rax
,4), %tmm3
169 // CHECK
: encoding
: [0xc4,0xc2,0x79,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
170 tileloaddt1
291(%r8,%rax
,4), %tmm3
172 // CHECK
: tileloaddt1
-32(,%rbp
,2), %tmm3
173 // CHECK
: encoding
: [0xc4,0xe2,0x79,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
174 tileloaddt1
-32(,%rbp
,2), %tmm3
176 // CHECK
: tilerelease
177 // CHECK
: encoding
: [0xc4,0xe2,0x78,0x49,0xc0]
180 // CHECK
: tilestored
%tmm6
, 268435456(%rbp
,%r14,8)
181 // CHECK
: encoding
: [0xc4,0xa2,0x7a,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]
182 tilestored
%tmm6
, 268435456(%rbp
,%r14,8)
184 // CHECK
: tilestored
%tmm3
, 291(%r8,%rax
,4)
185 // CHECK
: encoding
: [0xc4,0xc2,0x7a,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]
186 tilestored
%tmm3
, 291(%r8,%rax
,4)
188 // CHECK
: tilestored
%tmm3
, -32(,%rbp
,2)
189 // CHECK
: encoding
: [0xc4,0xe2,0x7a,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]
190 tilestored
%tmm3
, -32(,%rbp
,2)
192 // CHECK
: tilezero
%tmm6
193 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xf0]
196 // CHECK
: tilezero
%tmm3
197 // CHECK
: encoding
: [0xc4,0xe2,0x7b,0x49,0xd8]