1# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s 2# CHECK: loadiwkey %xmm2, %xmm3 30xf3 0x0f 0x38 0xdc 0xda 4 5# CHECK: loadiwkey %xmm2, %xmm6 60xf3 0x0f 0x38 0xdc 0xf2 7 8# CHECK: encodekey128 %eax, %ebx 90xf3 0x0f 0x38 0xfa 0xd8 10 11# CHECK: encodekey128 %eax, %edx 120xf3 0x0f 0x38 0xfa 0xd0 13 14# CHECK: encodekey256 %eax, %ebx 150xf3 0x0f 0x38 0xfb 0xd8 16 17# CHECK: encodekey256 %eax, %edx 180xf3 0x0f 0x38 0xfb 0xd0 19 20# CHECK: aesenc128kl 126(%rdx), %xmm2 210xf3 0x0f 0x38 0xdc 0x52 0x7e 22 23# CHECK: aesdec128kl 126(%rdx), %xmm2 240xf3 0x0f 0x38 0xdd 0x52 0x7e 25 26# CHECK: aesenc256kl 126(%rdx), %xmm2 270xf3 0x0f 0x38 0xde 0x52 0x7e 28 29# CHECK: aesdec256kl 126(%rdx), %xmm2 300xf3 0x0f 0x38 0xdf 0x52 0x7e 31 32# CHECK: aesencwide128kl (%rbx) 330xf3 0x0f 0x38 0xd8 0x03 34 35# CHECK: aesencwide128kl 126(%rdx) 360xf3 0x0f 0x38 0xd8 0x42 0x7e 37 38# CHECK: aesdecwide128kl (%rbx) 390xf3 0x0f 0x38 0xd8 0x0b 40 41# CHECK: aesdecwide128kl 126(%rdx) 420xf3 0x0f 0x38 0xd8 0x4a 0x7e 43 44# CHECK: aesencwide256kl (%rbx) 450xf3 0x0f 0x38 0xd8 0x13 46 47# CHECK: aesencwide256kl 126(%rdx) 480xf3 0x0f 0x38 0xd8 0x52 0x7e 49 50# CHECK: aesdecwide256kl (%rbx) 510xf3 0x0f 0x38 0xd8 0x1b 52 53# CHECK: aesdecwide256kl 126(%rdx) 540xf3 0x0f 0x38 0xd8 0x5a 0x7e 55 56# CHECK: aesdec128kl 268435456(%rbp,%r14,8), %xmm6 570xf3,0x42,0x0f,0x38,0xdd,0xb4,0xf5,0x00,0x00,0x00,0x10 58 59# CHECK: aesdec128kl 291(%r8,%rax,4), %xmm6 600xf3,0x41,0x0f,0x38,0xdd,0xb4,0x80,0x23,0x01,0x00,0x00 61 62# CHECK: aesdec128kl (%rip), %xmm6 630xf3,0x0f,0x38,0xdd,0x35,0x00,0x00,0x00,0x00 64 65# CHECK: aesdec128kl -1536(,%rbp,2), %xmm6 660xf3,0x0f,0x38,0xdd,0x34,0x6d,0x00,0xfa,0xff,0xff 67 68# CHECK: aesdec128kl 6096(%rcx), %xmm6 690xf3,0x0f,0x38,0xdd,0xb1,0xd0,0x17,0x00,0x00 70 71# CHECK: aesdec128kl -6144(%rdx), %xmm6 720xf3,0x0f,0x38,0xdd,0xb2,0x00,0xe8,0xff,0xff 73 74# CHECK: aesdec256kl 268435456(%rbp,%r14,8), %xmm6 750xf3,0x42,0x0f,0x38,0xdf,0xb4,0xf5,0x00,0x00,0x00,0x10 76 77# CHECK: aesdec256kl 291(%r8,%rax,4), %xmm6 780xf3,0x41,0x0f,0x38,0xdf,0xb4,0x80,0x23,0x01,0x00,0x00 79 80# CHECK: aesdec256kl (%rip), %xmm6 810xf3,0x0f,0x38,0xdf,0x35,0x00,0x00,0x00,0x00 82 83# CHECK: aesdec256kl -2048(,%rbp,2), %xmm6 840xf3,0x0f,0x38,0xdf,0x34,0x6d,0x00,0xf8,0xff,0xff 85 86# CHECK: aesdec256kl 8128(%rcx), %xmm6 870xf3,0x0f,0x38,0xdf,0xb1,0xc0,0x1f,0x00,0x00 88 89# CHECK: aesdec256kl -8192(%rdx), %xmm6 900xf3,0x0f,0x38,0xdf,0xb2,0x00,0xe0,0xff,0xff 91 92# CHECK: aesenc128kl 268435456(%rbp,%r14,8), %xmm6 930xf3,0x42,0x0f,0x38,0xdc,0xb4,0xf5,0x00,0x00,0x00,0x10 94 95# CHECK: aesenc128kl 291(%r8,%rax,4), %xmm6 960xf3,0x41,0x0f,0x38,0xdc,0xb4,0x80,0x23,0x01,0x00,0x00 97 98# CHECK: aesenc128kl (%rip), %xmm6 990xf3,0x0f,0x38,0xdc,0x35,0x00,0x00,0x00,0x00 100 101# CHECK: aesenc128kl -1536(,%rbp,2), %xmm6 1020xf3,0x0f,0x38,0xdc,0x34,0x6d,0x00,0xfa,0xff,0xff 103 104# CHECK: aesenc128kl 6096(%rcx), %xmm6 1050xf3,0x0f,0x38,0xdc,0xb1,0xd0,0x17,0x00,0x00 106 107# CHECK: aesenc128kl -6144(%rdx), %xmm6 1080xf3,0x0f,0x38,0xdc,0xb2,0x00,0xe8,0xff,0xff 109 110# CHECK: aesenc256kl 268435456(%rbp,%r14,8), %xmm6 1110xf3,0x42,0x0f,0x38,0xde,0xb4,0xf5,0x00,0x00,0x00,0x10 112 113# CHECK: aesenc256kl 291(%r8,%rax,4), %xmm6 1140xf3,0x41,0x0f,0x38,0xde,0xb4,0x80,0x23,0x01,0x00,0x00 115 116# CHECK: aesenc256kl (%rip), %xmm6 1170xf3,0x0f,0x38,0xde,0x35,0x00,0x00,0x00,0x00 118 119# CHECK: aesenc256kl -2048(,%rbp,2), %xmm6 1200xf3,0x0f,0x38,0xde,0x34,0x6d,0x00,0xf8,0xff,0xff 121 122# CHECK: aesenc256kl 8128(%rcx), %xmm6 1230xf3,0x0f,0x38,0xde,0xb1,0xc0,0x1f,0x00,0x00 124 125# CHECK: aesenc256kl -8192(%rdx), %xmm6 1260xf3,0x0f,0x38,0xde,0xb2,0x00,0xe0,0xff,0xff 127 128# CHECK: loadiwkey %xmm7, %xmm6 1290xf3,0x0f,0x38,0xdc,0xf7 130 131# CHECK: aesdec128kl 268435456(%rbp,%r14,8), %xmm6 1320xf3,0x42,0x0f,0x38,0xdd,0xb4,0xf5,0x00,0x00,0x00,0x10 133 134# CHECK: aesdec128kl 291(%r8,%rax,4), %xmm6 1350xf3,0x41,0x0f,0x38,0xdd,0xb4,0x80,0x23,0x01,0x00,0x00 136 137# CHECK: aesdec128kl (%rip), %xmm6 1380xf3,0x0f,0x38,0xdd,0x35,0x00,0x00,0x00,0x00 139 140# CHECK: aesdec128kl -1536(,%rbp,2), %xmm6 1410xf3,0x0f,0x38,0xdd,0x34,0x6d,0x00,0xfa,0xff,0xff 142 143# CHECK: aesdec128kl 6096(%rcx), %xmm6 1440xf3,0x0f,0x38,0xdd,0xb1,0xd0,0x17,0x00,0x00 145 146# CHECK: aesdec128kl -6144(%rdx), %xmm6 1470xf3,0x0f,0x38,0xdd,0xb2,0x00,0xe8,0xff,0xff 148 149# CHECK: aesdec256kl 268435456(%rbp,%r14,8), %xmm6 1500xf3,0x42,0x0f,0x38,0xdf,0xb4,0xf5,0x00,0x00,0x00,0x10 151 152# CHECK: aesdec256kl 291(%r8,%rax,4), %xmm6 1530xf3,0x41,0x0f,0x38,0xdf,0xb4,0x80,0x23,0x01,0x00,0x00 154 155# CHECK: aesdec256kl (%rip), %xmm6 1560xf3,0x0f,0x38,0xdf,0x35,0x00,0x00,0x00,0x00 157 158# CHECK: aesdec256kl -2048(,%rbp,2), %xmm6 1590xf3,0x0f,0x38,0xdf,0x34,0x6d,0x00,0xf8,0xff,0xff 160 161# CHECK: aesdec256kl 8128(%rcx), %xmm6 1620xf3,0x0f,0x38,0xdf,0xb1,0xc0,0x1f,0x00,0x00 163 164# CHECK: aesdec256kl -8192(%rdx), %xmm6 1650xf3,0x0f,0x38,0xdf,0xb2,0x00,0xe0,0xff,0xff 166 167# CHECK: aesenc128kl 268435456(%rbp,%r14,8), %xmm6 1680xf3,0x42,0x0f,0x38,0xdc,0xb4,0xf5,0x00,0x00,0x00,0x10 169 170# CHECK: aesenc128kl 291(%r8,%rax,4), %xmm6 1710xf3,0x41,0x0f,0x38,0xdc,0xb4,0x80,0x23,0x01,0x00,0x00 172 173# CHECK: aesenc128kl (%rip), %xmm6 1740xf3,0x0f,0x38,0xdc,0x35,0x00,0x00,0x00,0x00 175 176# CHECK: aesenc128kl -1536(,%rbp,2), %xmm6 1770xf3,0x0f,0x38,0xdc,0x34,0x6d,0x00,0xfa,0xff,0xff 178 179# CHECK: aesenc128kl 6096(%rcx), %xmm6 1800xf3,0x0f,0x38,0xdc,0xb1,0xd0,0x17,0x00,0x00 181 182# CHECK: aesenc128kl -6144(%rdx), %xmm6 1830xf3,0x0f,0x38,0xdc,0xb2,0x00,0xe8,0xff,0xff 184 185# CHECK: aesenc256kl 268435456(%rbp,%r14,8), %xmm6 1860xf3,0x42,0x0f,0x38,0xde,0xb4,0xf5,0x00,0x00,0x00,0x10 187 188# CHECK: aesenc256kl 291(%r8,%rax,4), %xmm6 1890xf3,0x41,0x0f,0x38,0xde,0xb4,0x80,0x23,0x01,0x00,0x00 190 191# CHECK: aesenc256kl (%rip), %xmm6 1920xf3,0x0f,0x38,0xde,0x35,0x00,0x00,0x00,0x00 193 194# CHECK: aesenc256kl -2048(,%rbp,2), %xmm6 1950xf3,0x0f,0x38,0xde,0x34,0x6d,0x00,0xf8,0xff,0xff 196 197# CHECK: aesenc256kl 8128(%rcx), %xmm6 1980xf3,0x0f,0x38,0xde,0xb1,0xc0,0x1f,0x00,0x00 199 200# CHECK: aesenc256kl -8192(%rdx), %xmm6 2010xf3,0x0f,0x38,0xde,0xb2,0x00,0xe0,0xff,0xff 202 203# CHECK: loadiwkey %xmm7, %xmm6 2040xf3,0x0f,0x38,0xdc,0xf7 205 206# CHECK: aesdecwide128kl 268435456(%rbp,%r14,8) 2070xf3,0x42,0x0f,0x38,0xd8,0x8c,0xf5,0x00,0x00,0x00,0x10 208 209# CHECK: aesdecwide128kl 291(%r8,%rax,4) 2100xf3,0x41,0x0f,0x38,0xd8,0x8c,0x80,0x23,0x01,0x00,0x00 211 212# CHECK: aesdecwide128kl (%rip) 2130xf3,0x0f,0x38,0xd8,0x0d,0x00,0x00,0x00,0x00 214 215# CHECK: aesdecwide128kl -1536(,%rbp,2) 2160xf3,0x0f,0x38,0xd8,0x0c,0x6d,0x00,0xfa,0xff,0xff 217 218# CHECK: aesdecwide128kl 6096(%rcx) 2190xf3,0x0f,0x38,0xd8,0x89,0xd0,0x17,0x00,0x00 220 221# CHECK: aesdecwide128kl -6144(%rdx) 2220xf3,0x0f,0x38,0xd8,0x8a,0x00,0xe8,0xff,0xff 223 224# CHECK: aesdecwide256kl 268435456(%rbp,%r14,8) 2250xf3,0x42,0x0f,0x38,0xd8,0x9c,0xf5,0x00,0x00,0x00,0x10 226 227# CHECK: aesdecwide256kl 291(%r8,%rax,4) 2280xf3,0x41,0x0f,0x38,0xd8,0x9c,0x80,0x23,0x01,0x00,0x00 229 230# CHECK: aesdecwide256kl (%rip) 2310xf3,0x0f,0x38,0xd8,0x1d,0x00,0x00,0x00,0x00 232 233# CHECK: aesdecwide256kl -2048(,%rbp,2) 2340xf3,0x0f,0x38,0xd8,0x1c,0x6d,0x00,0xf8,0xff,0xff 235 236# CHECK: aesdecwide256kl 8128(%rcx) 2370xf3,0x0f,0x38,0xd8,0x99,0xc0,0x1f,0x00,0x00 238 239# CHECK: aesdecwide256kl -8192(%rdx) 2400xf3,0x0f,0x38,0xd8,0x9a,0x00,0xe0,0xff,0xff 241 242# CHECK: aesencwide128kl 268435456(%rbp,%r14,8) 2430xf3,0x42,0x0f,0x38,0xd8,0x84,0xf5,0x00,0x00,0x00,0x10 244 245# CHECK: aesencwide128kl 291(%r8,%rax,4) 2460xf3,0x41,0x0f,0x38,0xd8,0x84,0x80,0x23,0x01,0x00,0x00 247 248# CHECK: aesencwide128kl (%rip) 2490xf3,0x0f,0x38,0xd8,0x05,0x00,0x00,0x00,0x00 250 251# CHECK: aesencwide128kl -1536(,%rbp,2) 2520xf3,0x0f,0x38,0xd8,0x04,0x6d,0x00,0xfa,0xff,0xff 253 254# CHECK: aesencwide128kl 6096(%rcx) 2550xf3,0x0f,0x38,0xd8,0x81,0xd0,0x17,0x00,0x00 256 257# CHECK: aesencwide128kl -6144(%rdx) 2580xf3,0x0f,0x38,0xd8,0x82,0x00,0xe8,0xff,0xff 259 260# CHECK: aesencwide256kl 268435456(%rbp,%r14,8) 2610xf3,0x42,0x0f,0x38,0xd8,0x94,0xf5,0x00,0x00,0x00,0x10 262 263# CHECK: aesencwide256kl 291(%r8,%rax,4) 2640xf3,0x41,0x0f,0x38,0xd8,0x94,0x80,0x23,0x01,0x00,0x00 265 266# CHECK: aesencwide256kl (%rip) 2670xf3,0x0f,0x38,0xd8,0x15,0x00,0x00,0x00,0x00 268 269# CHECK: aesencwide256kl -2048(,%rbp,2) 2700xf3,0x0f,0x38,0xd8,0x14,0x6d,0x00,0xf8,0xff,0xff 271 272# CHECK: aesencwide256kl 8128(%rcx) 2730xf3,0x0f,0x38,0xd8,0x91,0xc0,0x1f,0x00,0x00 274 275# CHECK: aesencwide256kl -8192(%rdx) 2760xf3,0x0f,0x38,0xd8,0x92,0x00,0xe0,0xff,0xff 277 278