1// RUN: llvm-mc -triple x86_64-unknown-unknown -show-encoding %s | FileCheck %s 2// some AMX instruction must use SIB. 3 4// CHECK: tilerelease 5// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0] 6 tilerelease 7 8// CHECK: tilezero %tmm6 9// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0] 10 tilezero %tmm6 11 12// CHECK: tilezero %tmm3 13// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8] 14 tilezero %tmm3 15 16// CHECK: tilerelease 17// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0] 18 tilerelease 19 20// CHECK: tilezero %tmm6 21// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0] 22 tilezero %tmm6 23 24// CHECK: tilezero %tmm3 25// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8] 26 tilezero %tmm3 27 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), %tmm6 61// CHECK: encoding: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10] 62 tileloadd 268435456(%rbp,%r14,8), %tmm6 63 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 67 68// CHECK: tileloadd 64(%rbx), %tmm4 69// CHECK: encoding: [0xc4,0xe2,0x7b,0x4b,0x64,0x23,0x40] 70 tileloadd 64(%rbx), %tmm4 71 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 75 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 79 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 83 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 87 88// CHECK: tileloaddt1 16(%rbp), %tmm6 89// CHECK: encoding: [0xc4,0xe2,0x79,0x4b,0x74,0x25,0x10] 90 tileloaddt1 16(%rbp), %tmm6 91 92// CHECK: tilerelease 93// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0] 94 tilerelease 95 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 %tmm6 113// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0] 114 tilezero %tmm6 115 116// CHECK: tilezero %tmm3 117// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8] 118 tilezero %tmm3 119 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), %tmm6 153// CHECK: encoding: [0xc4,0xa2,0x7b,0x4b,0xb4,0xf5,0x00,0x00,0x00,0x10] 154 tileloadd 268435456(%rbp,%r14,8), %tmm6 155 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 159 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 163 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 167 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 171 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 175 176// CHECK: tilerelease 177// CHECK: encoding: [0xc4,0xe2,0x78,0x49,0xc0] 178 tilerelease 179 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 %tmm6 193// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xf0] 194 tilezero %tmm6 195 196// CHECK: tilezero %tmm3 197// CHECK: encoding: [0xc4,0xe2,0x7b,0x49,0xd8] 198 tilezero %tmm3 199