Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / MC / X86 / AMX / x86-64-amx-tile-att.s
blob9762c821f971f20b1a56043e1a16b0cfb9c1e67f
1 // RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s | FileCheck %s
2 // some AMX instruction must use SIB.
4 // CHECK: tilerelease
5 // CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]
6 tilerelease
8 // CHECK: tilezero %tmm6
9 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]
10 tilezero %tmm6
12 // CHECK: tilezero %tmm3
13 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]
14 tilezero %tmm3
16 // CHECK: tilerelease
17 // CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]
18 tilerelease
20 // CHECK: tilezero %tmm6
21 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]
22 tilezero %tmm6
24 // CHECK: tilezero %tmm3
25 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]
26 tilezero %tmm3
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]
38 ldtilecfg (%rip)
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]
54 sttilecfg (%rip)
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
92 // CHECK: tilerelease
93 // CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]
94 tilerelease
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]
114 tilezero %tmm6
116 // CHECK: tilezero %tmm3
117 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]
118 tilezero %tmm3
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]
130 ldtilecfg (%rip)
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]
146 sttilecfg (%rip)
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]
178 tilerelease
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]
194 tilezero %tmm6
196 // CHECK: tilezero %tmm3
197 // CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]
198 tilezero %tmm3