199 lines · plain
1// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s | FileCheck %s2// some AMX instruction must use SIB.3 4// CHECK: tilerelease5// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]6 tilerelease7 8// CHECK: tilezero %tmm69// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]10 tilezero %tmm611 12// CHECK: tilezero %tmm313// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]14 tilezero %tmm315 16// CHECK: tilerelease17// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]18 tilerelease19 20// CHECK: tilezero %tmm621// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]22 tilezero %tmm623 24// CHECK: tilezero %tmm325// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]26 tilezero %tmm327 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)31 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)35 36// CHECK: ldtilecfg (%rip)37// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0x05,0x00,0x00,0x00,0x00]38 ldtilecfg (%rip)39 40// CHECK: ldtilecfg -2048(,%rbp,2)41// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]42 ldtilecfg -2048(,%rbp,2)43 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)47 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)51 52// CHECK: sttilecfg (%rip)53// CHECK: encoding: [0xc4,0xe2,0x79,0x49,0x05,0x00,0x00,0x00,0x00]54 sttilecfg (%rip)55 56// CHECK: sttilecfg -2048(,%rbp,2)57// CHECK: encoding: [0xc4,0xe2,0x79,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]58 sttilecfg -2048(,%rbp,2)59 60// CHECK: tileloadd 268435456(%rbp,%r14,8), %tmm661// CHECK: encoding: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]62 tileloadd 268435456(%rbp,%r14,8), %tmm663 64// CHECK: tileloadd 291(%r8,%rax,4), %tmm365// CHECK: encoding: [0xc4,0xc2,0x7b,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]66 tileloadd 291(%r8,%rax,4), %tmm367 68// CHECK: tileloadd 64(%rbx), %tmm469// CHECK: encoding: [0xc4,0xe2,0x7b,0x4b,0x64,0x23,0x40]70 tileloadd 64(%rbx), %tmm471 72// CHECK: tileloadd -32(,%rbp,2), %tmm373// CHECK: encoding: [0xc4,0xe2,0x7b,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]74 tileloadd -32(,%rbp,2), %tmm375 76// CHECK: tileloaddt1 268435456(%rbp,%r14,8), %tmm677// CHECK: encoding: [0xc4,0xa2,0x79,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]78 tileloaddt1 268435456(%rbp,%r14,8), %tmm679 80// CHECK: tileloaddt1 291(%r8,%rax,4), %tmm381// CHECK: encoding: [0xc4,0xc2,0x79,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]82 tileloaddt1 291(%r8,%rax,4), %tmm383 84// CHECK: tileloaddt1 -32(,%rbp,2), %tmm385// CHECK: encoding: [0xc4,0xe2,0x79,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]86 tileloaddt1 -32(,%rbp,2), %tmm387 88// CHECK: tileloaddt1 16(%rbp), %tmm689// CHECK: encoding: [0xc4,0xe2,0x79,0x4b,0x74,0x25,0x10]90 tileloaddt1 16(%rbp), %tmm691 92// CHECK: tilerelease93// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]94 tilerelease95 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)99 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)103 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)107 108// CHECK: tilestored %tmm3, (%r8)109// CHECK: encoding: [0xc4,0xc2,0x7a,0x4b,0x1c,0x20]110 tilestored %tmm3, (%r8)111 112// CHECK: tilezero %tmm6113// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]114 tilezero %tmm6115 116// CHECK: tilezero %tmm3117// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]118 tilezero %tmm3119 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)123 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)127 128// CHECK: ldtilecfg (%rip)129// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0x05,0x00,0x00,0x00,0x00]130 ldtilecfg (%rip)131 132// CHECK: ldtilecfg -2048(,%rbp,2)133// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]134 ldtilecfg -2048(,%rbp,2)135 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)139 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)143 144// CHECK: sttilecfg (%rip)145// CHECK: encoding: [0xc4,0xe2,0x79,0x49,0x05,0x00,0x00,0x00,0x00]146 sttilecfg (%rip)147 148// CHECK: sttilecfg -2048(,%rbp,2)149// CHECK: encoding: [0xc4,0xe2,0x79,0x49,0x04,0x6d,0x00,0xf8,0xff,0xff]150 sttilecfg -2048(,%rbp,2)151 152// CHECK: tileloadd 268435456(%rbp,%r14,8), %tmm6153// CHECK: encoding: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]154 tileloadd 268435456(%rbp,%r14,8), %tmm6155 156// CHECK: tileloadd 291(%r8,%rax,4), %tmm3157// CHECK: encoding: [0xc4,0xc2,0x7b,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]158 tileloadd 291(%r8,%rax,4), %tmm3159 160// CHECK: tileloadd -32(,%rbp,2), %tmm3161// CHECK: encoding: [0xc4,0xe2,0x7b,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]162 tileloadd -32(,%rbp,2), %tmm3163 164// CHECK: tileloaddt1 268435456(%rbp,%r14,8), %tmm6165// CHECK: encoding: [0xc4,0xa2,0x79,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10]166 tileloaddt1 268435456(%rbp,%r14,8), %tmm6167 168// CHECK: tileloaddt1 291(%r8,%rax,4), %tmm3169// CHECK: encoding: [0xc4,0xc2,0x79,0x4b,0x9c,0x80,0x23,0x01,0x00,0x00]170 tileloaddt1 291(%r8,%rax,4), %tmm3171 172// CHECK: tileloaddt1 -32(,%rbp,2), %tmm3173// CHECK: encoding: [0xc4,0xe2,0x79,0x4b,0x1c,0x6d,0xe0,0xff,0xff,0xff]174 tileloaddt1 -32(,%rbp,2), %tmm3175 176// CHECK: tilerelease177// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0]178 tilerelease179 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)183 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)187 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)191 192// CHECK: tilezero %tmm6193// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0]194 tilezero %tmm6195 196// CHECK: tilezero %tmm3197// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8]198 tilezero %tmm3199