1// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s 2 3// CHECK: sha1msg1 485498096, %xmm15 4// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 5sha1msg1 485498096, %xmm15 6 7// CHECK: sha1msg1 485498096, %xmm6 8// CHECK: encoding: [0x0f,0x38,0xc9,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 9sha1msg1 485498096, %xmm6 10 11// CHECK: sha1msg1 64(%rdx,%rax,4), %xmm15 12// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x7c,0x82,0x40] 13sha1msg1 64(%rdx,%rax,4), %xmm15 14 15// CHECK: sha1msg1 -64(%rdx,%rax,4), %xmm15 16// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x7c,0x82,0xc0] 17sha1msg1 -64(%rdx,%rax,4), %xmm15 18 19// CHECK: sha1msg1 64(%rdx,%rax,4), %xmm6 20// CHECK: encoding: [0x0f,0x38,0xc9,0x74,0x82,0x40] 21sha1msg1 64(%rdx,%rax,4), %xmm6 22 23// CHECK: sha1msg1 -64(%rdx,%rax,4), %xmm6 24// CHECK: encoding: [0x0f,0x38,0xc9,0x74,0x82,0xc0] 25sha1msg1 -64(%rdx,%rax,4), %xmm6 26 27// CHECK: sha1msg1 64(%rdx,%rax), %xmm15 28// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x7c,0x02,0x40] 29sha1msg1 64(%rdx,%rax), %xmm15 30 31// CHECK: sha1msg1 64(%rdx,%rax), %xmm6 32// CHECK: encoding: [0x0f,0x38,0xc9,0x74,0x02,0x40] 33sha1msg1 64(%rdx,%rax), %xmm6 34 35// CHECK: sha1msg1 64(%rdx), %xmm15 36// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x7a,0x40] 37sha1msg1 64(%rdx), %xmm15 38 39// CHECK: sha1msg1 64(%rdx), %xmm6 40// CHECK: encoding: [0x0f,0x38,0xc9,0x72,0x40] 41sha1msg1 64(%rdx), %xmm6 42 43// CHECK: sha1msg1 (%rdx), %xmm15 44// CHECK: encoding: [0x44,0x0f,0x38,0xc9,0x3a] 45sha1msg1 (%rdx), %xmm15 46 47// CHECK: sha1msg1 (%rdx), %xmm6 48// CHECK: encoding: [0x0f,0x38,0xc9,0x32] 49sha1msg1 (%rdx), %xmm6 50 51// CHECK: sha1msg1 %xmm15, %xmm15 52// CHECK: encoding: [0x45,0x0f,0x38,0xc9,0xff] 53sha1msg1 %xmm15, %xmm15 54 55// CHECK: sha1msg1 %xmm6, %xmm6 56// CHECK: encoding: [0x0f,0x38,0xc9,0xf6] 57sha1msg1 %xmm6, %xmm6 58 59// CHECK: sha1msg2 485498096, %xmm15 60// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 61sha1msg2 485498096, %xmm15 62 63// CHECK: sha1msg2 485498096, %xmm6 64// CHECK: encoding: [0x0f,0x38,0xca,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 65sha1msg2 485498096, %xmm6 66 67// CHECK: sha1msg2 64(%rdx,%rax,4), %xmm15 68// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x7c,0x82,0x40] 69sha1msg2 64(%rdx,%rax,4), %xmm15 70 71// CHECK: sha1msg2 -64(%rdx,%rax,4), %xmm15 72// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x7c,0x82,0xc0] 73sha1msg2 -64(%rdx,%rax,4), %xmm15 74 75// CHECK: sha1msg2 64(%rdx,%rax,4), %xmm6 76// CHECK: encoding: [0x0f,0x38,0xca,0x74,0x82,0x40] 77sha1msg2 64(%rdx,%rax,4), %xmm6 78 79// CHECK: sha1msg2 -64(%rdx,%rax,4), %xmm6 80// CHECK: encoding: [0x0f,0x38,0xca,0x74,0x82,0xc0] 81sha1msg2 -64(%rdx,%rax,4), %xmm6 82 83// CHECK: sha1msg2 64(%rdx,%rax), %xmm15 84// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x7c,0x02,0x40] 85sha1msg2 64(%rdx,%rax), %xmm15 86 87// CHECK: sha1msg2 64(%rdx,%rax), %xmm6 88// CHECK: encoding: [0x0f,0x38,0xca,0x74,0x02,0x40] 89sha1msg2 64(%rdx,%rax), %xmm6 90 91// CHECK: sha1msg2 64(%rdx), %xmm15 92// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x7a,0x40] 93sha1msg2 64(%rdx), %xmm15 94 95// CHECK: sha1msg2 64(%rdx), %xmm6 96// CHECK: encoding: [0x0f,0x38,0xca,0x72,0x40] 97sha1msg2 64(%rdx), %xmm6 98 99// CHECK: sha1msg2 (%rdx), %xmm15 100// CHECK: encoding: [0x44,0x0f,0x38,0xca,0x3a] 101sha1msg2 (%rdx), %xmm15 102 103// CHECK: sha1msg2 (%rdx), %xmm6 104// CHECK: encoding: [0x0f,0x38,0xca,0x32] 105sha1msg2 (%rdx), %xmm6 106 107// CHECK: sha1msg2 %xmm15, %xmm15 108// CHECK: encoding: [0x45,0x0f,0x38,0xca,0xff] 109sha1msg2 %xmm15, %xmm15 110 111// CHECK: sha1msg2 %xmm6, %xmm6 112// CHECK: encoding: [0x0f,0x38,0xca,0xf6] 113sha1msg2 %xmm6, %xmm6 114 115// CHECK: sha1nexte 485498096, %xmm15 116// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 117sha1nexte 485498096, %xmm15 118 119// CHECK: sha1nexte 485498096, %xmm6 120// CHECK: encoding: [0x0f,0x38,0xc8,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 121sha1nexte 485498096, %xmm6 122 123// CHECK: sha1nexte 64(%rdx,%rax,4), %xmm15 124// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x7c,0x82,0x40] 125sha1nexte 64(%rdx,%rax,4), %xmm15 126 127// CHECK: sha1nexte -64(%rdx,%rax,4), %xmm15 128// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x7c,0x82,0xc0] 129sha1nexte -64(%rdx,%rax,4), %xmm15 130 131// CHECK: sha1nexte 64(%rdx,%rax,4), %xmm6 132// CHECK: encoding: [0x0f,0x38,0xc8,0x74,0x82,0x40] 133sha1nexte 64(%rdx,%rax,4), %xmm6 134 135// CHECK: sha1nexte -64(%rdx,%rax,4), %xmm6 136// CHECK: encoding: [0x0f,0x38,0xc8,0x74,0x82,0xc0] 137sha1nexte -64(%rdx,%rax,4), %xmm6 138 139// CHECK: sha1nexte 64(%rdx,%rax), %xmm15 140// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x7c,0x02,0x40] 141sha1nexte 64(%rdx,%rax), %xmm15 142 143// CHECK: sha1nexte 64(%rdx,%rax), %xmm6 144// CHECK: encoding: [0x0f,0x38,0xc8,0x74,0x02,0x40] 145sha1nexte 64(%rdx,%rax), %xmm6 146 147// CHECK: sha1nexte 64(%rdx), %xmm15 148// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x7a,0x40] 149sha1nexte 64(%rdx), %xmm15 150 151// CHECK: sha1nexte 64(%rdx), %xmm6 152// CHECK: encoding: [0x0f,0x38,0xc8,0x72,0x40] 153sha1nexte 64(%rdx), %xmm6 154 155// CHECK: sha1nexte (%rdx), %xmm15 156// CHECK: encoding: [0x44,0x0f,0x38,0xc8,0x3a] 157sha1nexte (%rdx), %xmm15 158 159// CHECK: sha1nexte (%rdx), %xmm6 160// CHECK: encoding: [0x0f,0x38,0xc8,0x32] 161sha1nexte (%rdx), %xmm6 162 163// CHECK: sha1nexte %xmm15, %xmm15 164// CHECK: encoding: [0x45,0x0f,0x38,0xc8,0xff] 165sha1nexte %xmm15, %xmm15 166 167// CHECK: sha1nexte %xmm6, %xmm6 168// CHECK: encoding: [0x0f,0x38,0xc8,0xf6] 169sha1nexte %xmm6, %xmm6 170 171// CHECK: sha1rnds4 $0, 485498096, %xmm15 172// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 173sha1rnds4 $0, 485498096, %xmm15 174 175// CHECK: sha1rnds4 $0, 485498096, %xmm6 176// CHECK: encoding: [0x0f,0x3a,0xcc,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00] 177sha1rnds4 $0, 485498096, %xmm6 178 179// CHECK: sha1rnds4 $0, 64(%rdx,%rax,4), %xmm15 180// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x7c,0x82,0x40,0x00] 181sha1rnds4 $0, 64(%rdx,%rax,4), %xmm15 182 183// CHECK: sha1rnds4 $0, -64(%rdx,%rax,4), %xmm15 184// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x7c,0x82,0xc0,0x00] 185sha1rnds4 $0, -64(%rdx,%rax,4), %xmm15 186 187// CHECK: sha1rnds4 $0, 64(%rdx,%rax,4), %xmm6 188// CHECK: encoding: [0x0f,0x3a,0xcc,0x74,0x82,0x40,0x00] 189sha1rnds4 $0, 64(%rdx,%rax,4), %xmm6 190 191// CHECK: sha1rnds4 $0, -64(%rdx,%rax,4), %xmm6 192// CHECK: encoding: [0x0f,0x3a,0xcc,0x74,0x82,0xc0,0x00] 193sha1rnds4 $0, -64(%rdx,%rax,4), %xmm6 194 195// CHECK: sha1rnds4 $0, 64(%rdx,%rax), %xmm15 196// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x7c,0x02,0x40,0x00] 197sha1rnds4 $0, 64(%rdx,%rax), %xmm15 198 199// CHECK: sha1rnds4 $0, 64(%rdx,%rax), %xmm6 200// CHECK: encoding: [0x0f,0x3a,0xcc,0x74,0x02,0x40,0x00] 201sha1rnds4 $0, 64(%rdx,%rax), %xmm6 202 203// CHECK: sha1rnds4 $0, 64(%rdx), %xmm15 204// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x7a,0x40,0x00] 205sha1rnds4 $0, 64(%rdx), %xmm15 206 207// CHECK: sha1rnds4 $0, 64(%rdx), %xmm6 208// CHECK: encoding: [0x0f,0x3a,0xcc,0x72,0x40,0x00] 209sha1rnds4 $0, 64(%rdx), %xmm6 210 211// CHECK: sha1rnds4 $0, (%rdx), %xmm15 212// CHECK: encoding: [0x44,0x0f,0x3a,0xcc,0x3a,0x00] 213sha1rnds4 $0, (%rdx), %xmm15 214 215// CHECK: sha1rnds4 $0, (%rdx), %xmm6 216// CHECK: encoding: [0x0f,0x3a,0xcc,0x32,0x00] 217sha1rnds4 $0, (%rdx), %xmm6 218 219// CHECK: sha1rnds4 $0, %xmm15, %xmm15 220// CHECK: encoding: [0x45,0x0f,0x3a,0xcc,0xff,0x00] 221sha1rnds4 $0, %xmm15, %xmm15 222 223// CHECK: sha1rnds4 $0, %xmm6, %xmm6 224// CHECK: encoding: [0x0f,0x3a,0xcc,0xf6,0x00] 225sha1rnds4 $0, %xmm6, %xmm6 226 227// CHECK: sha256msg1 485498096, %xmm15 228// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 229sha256msg1 485498096, %xmm15 230 231// CHECK: sha256msg1 485498096, %xmm6 232// CHECK: encoding: [0x0f,0x38,0xcc,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 233sha256msg1 485498096, %xmm6 234 235// CHECK: sha256msg1 64(%rdx,%rax,4), %xmm15 236// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x7c,0x82,0x40] 237sha256msg1 64(%rdx,%rax,4), %xmm15 238 239// CHECK: sha256msg1 -64(%rdx,%rax,4), %xmm15 240// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x7c,0x82,0xc0] 241sha256msg1 -64(%rdx,%rax,4), %xmm15 242 243// CHECK: sha256msg1 64(%rdx,%rax,4), %xmm6 244// CHECK: encoding: [0x0f,0x38,0xcc,0x74,0x82,0x40] 245sha256msg1 64(%rdx,%rax,4), %xmm6 246 247// CHECK: sha256msg1 -64(%rdx,%rax,4), %xmm6 248// CHECK: encoding: [0x0f,0x38,0xcc,0x74,0x82,0xc0] 249sha256msg1 -64(%rdx,%rax,4), %xmm6 250 251// CHECK: sha256msg1 64(%rdx,%rax), %xmm15 252// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x7c,0x02,0x40] 253sha256msg1 64(%rdx,%rax), %xmm15 254 255// CHECK: sha256msg1 64(%rdx,%rax), %xmm6 256// CHECK: encoding: [0x0f,0x38,0xcc,0x74,0x02,0x40] 257sha256msg1 64(%rdx,%rax), %xmm6 258 259// CHECK: sha256msg1 64(%rdx), %xmm15 260// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x7a,0x40] 261sha256msg1 64(%rdx), %xmm15 262 263// CHECK: sha256msg1 64(%rdx), %xmm6 264// CHECK: encoding: [0x0f,0x38,0xcc,0x72,0x40] 265sha256msg1 64(%rdx), %xmm6 266 267// CHECK: sha256msg1 (%rdx), %xmm15 268// CHECK: encoding: [0x44,0x0f,0x38,0xcc,0x3a] 269sha256msg1 (%rdx), %xmm15 270 271// CHECK: sha256msg1 (%rdx), %xmm6 272// CHECK: encoding: [0x0f,0x38,0xcc,0x32] 273sha256msg1 (%rdx), %xmm6 274 275// CHECK: sha256msg1 %xmm15, %xmm15 276// CHECK: encoding: [0x45,0x0f,0x38,0xcc,0xff] 277sha256msg1 %xmm15, %xmm15 278 279// CHECK: sha256msg1 %xmm6, %xmm6 280// CHECK: encoding: [0x0f,0x38,0xcc,0xf6] 281sha256msg1 %xmm6, %xmm6 282 283// CHECK: sha256msg2 485498096, %xmm15 284// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 285sha256msg2 485498096, %xmm15 286 287// CHECK: sha256msg2 485498096, %xmm6 288// CHECK: encoding: [0x0f,0x38,0xcd,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 289sha256msg2 485498096, %xmm6 290 291// CHECK: sha256msg2 64(%rdx,%rax,4), %xmm15 292// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x7c,0x82,0x40] 293sha256msg2 64(%rdx,%rax,4), %xmm15 294 295// CHECK: sha256msg2 -64(%rdx,%rax,4), %xmm15 296// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x7c,0x82,0xc0] 297sha256msg2 -64(%rdx,%rax,4), %xmm15 298 299// CHECK: sha256msg2 64(%rdx,%rax,4), %xmm6 300// CHECK: encoding: [0x0f,0x38,0xcd,0x74,0x82,0x40] 301sha256msg2 64(%rdx,%rax,4), %xmm6 302 303// CHECK: sha256msg2 -64(%rdx,%rax,4), %xmm6 304// CHECK: encoding: [0x0f,0x38,0xcd,0x74,0x82,0xc0] 305sha256msg2 -64(%rdx,%rax,4), %xmm6 306 307// CHECK: sha256msg2 64(%rdx,%rax), %xmm15 308// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x7c,0x02,0x40] 309sha256msg2 64(%rdx,%rax), %xmm15 310 311// CHECK: sha256msg2 64(%rdx,%rax), %xmm6 312// CHECK: encoding: [0x0f,0x38,0xcd,0x74,0x02,0x40] 313sha256msg2 64(%rdx,%rax), %xmm6 314 315// CHECK: sha256msg2 64(%rdx), %xmm15 316// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x7a,0x40] 317sha256msg2 64(%rdx), %xmm15 318 319// CHECK: sha256msg2 64(%rdx), %xmm6 320// CHECK: encoding: [0x0f,0x38,0xcd,0x72,0x40] 321sha256msg2 64(%rdx), %xmm6 322 323// CHECK: sha256msg2 (%rdx), %xmm15 324// CHECK: encoding: [0x44,0x0f,0x38,0xcd,0x3a] 325sha256msg2 (%rdx), %xmm15 326 327// CHECK: sha256msg2 (%rdx), %xmm6 328// CHECK: encoding: [0x0f,0x38,0xcd,0x32] 329sha256msg2 (%rdx), %xmm6 330 331// CHECK: sha256msg2 %xmm15, %xmm15 332// CHECK: encoding: [0x45,0x0f,0x38,0xcd,0xff] 333sha256msg2 %xmm15, %xmm15 334 335// CHECK: sha256msg2 %xmm6, %xmm6 336// CHECK: encoding: [0x0f,0x38,0xcd,0xf6] 337sha256msg2 %xmm6, %xmm6 338 339// CHECK: sha256rnds2 %xmm0, 485498096, %xmm15 340// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x3c,0x25,0xf0,0x1c,0xf0,0x1c] 341sha256rnds2 %xmm0, 485498096, %xmm15 342 343// CHECK: sha256rnds2 %xmm0, 485498096, %xmm6 344// CHECK: encoding: [0x0f,0x38,0xcb,0x34,0x25,0xf0,0x1c,0xf0,0x1c] 345sha256rnds2 %xmm0, 485498096, %xmm6 346 347// CHECK: sha256rnds2 %xmm0, 64(%rdx,%rax,4), %xmm15 348// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x7c,0x82,0x40] 349sha256rnds2 %xmm0, 64(%rdx,%rax,4), %xmm15 350 351// CHECK: sha256rnds2 %xmm0, -64(%rdx,%rax,4), %xmm15 352// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x7c,0x82,0xc0] 353sha256rnds2 %xmm0, -64(%rdx,%rax,4), %xmm15 354 355// CHECK: sha256rnds2 %xmm0, 64(%rdx,%rax,4), %xmm6 356// CHECK: encoding: [0x0f,0x38,0xcb,0x74,0x82,0x40] 357sha256rnds2 %xmm0, 64(%rdx,%rax,4), %xmm6 358 359// CHECK: sha256rnds2 %xmm0, -64(%rdx,%rax,4), %xmm6 360// CHECK: encoding: [0x0f,0x38,0xcb,0x74,0x82,0xc0] 361sha256rnds2 %xmm0, -64(%rdx,%rax,4), %xmm6 362 363// CHECK: sha256rnds2 %xmm0, 64(%rdx,%rax), %xmm15 364// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x7c,0x02,0x40] 365sha256rnds2 %xmm0, 64(%rdx,%rax), %xmm15 366 367// CHECK: sha256rnds2 %xmm0, 64(%rdx,%rax), %xmm6 368// CHECK: encoding: [0x0f,0x38,0xcb,0x74,0x02,0x40] 369sha256rnds2 %xmm0, 64(%rdx,%rax), %xmm6 370 371// CHECK: sha256rnds2 %xmm0, 64(%rdx), %xmm15 372// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x7a,0x40] 373sha256rnds2 %xmm0, 64(%rdx), %xmm15 374 375// CHECK: sha256rnds2 %xmm0, 64(%rdx), %xmm6 376// CHECK: encoding: [0x0f,0x38,0xcb,0x72,0x40] 377sha256rnds2 %xmm0, 64(%rdx), %xmm6 378 379// CHECK: sha256rnds2 %xmm0, (%rdx), %xmm15 380// CHECK: encoding: [0x44,0x0f,0x38,0xcb,0x3a] 381sha256rnds2 %xmm0, (%rdx), %xmm15 382 383// CHECK: sha256rnds2 %xmm0, (%rdx), %xmm6 384// CHECK: encoding: [0x0f,0x38,0xcb,0x32] 385sha256rnds2 %xmm0, (%rdx), %xmm6 386 387// CHECK: sha256rnds2 %xmm0, %xmm15, %xmm15 388// CHECK: encoding: [0x45,0x0f,0x38,0xcb,0xff] 389sha256rnds2 %xmm0, %xmm15, %xmm15 390 391// CHECK: sha256rnds2 %xmm0, %xmm6, %xmm6 392// CHECK: encoding: [0x0f,0x38,0xcb,0xf6] 393sha256rnds2 %xmm0, %xmm6, %xmm6 394 395