[llvm] r320670 - [X86][AES]: Adding full coverage of MC encoding for the AES and AVXAES isa sets.<NFC>
Gadi Haber via llvm-commits
llvm-commits at lists.llvm.org
Wed Dec 13 23:26:08 PST 2017
Author: gadi.haber
Date: Wed Dec 13 23:26:08 2017
New Revision: 320670
URL: http://llvm.org/viewvc/llvm-project?rev=320670&view=rev
Log:
[X86][AES]: Adding full coverage of MC encoding for the AES and AVXAES isa sets.<NFC>
NFC.
Adding MC regressions tests to cover the AES and AVXAES ISA sets both 32 and 64 bit.
This patch is part of a larger task to cover MC encoding of all X86 ISA Sets.
started in revision: https://reviews.llvm.org/D39952
Reviewers: zvi, craig.topper, m_zuckerman, RKSimon
Differential Revision: https://reviews.llvm.org/D41154
Change-Id: I2564f9797628d0c070c4766f837f399337fb87d2
Added:
llvm/trunk/test/MC/X86/AES-32.s
llvm/trunk/test/MC/X86/AES-64.s
llvm/trunk/test/MC/X86/AVXAES-32.s
llvm/trunk/test/MC/X86/AVXAES-64.s
Added: llvm/trunk/test/MC/X86/AES-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AES-32.s?rev=320670&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/AES-32.s (added)
+++ llvm/trunk/test/MC/X86/AES-32.s Wed Dec 13 23:26:08 2017
@@ -0,0 +1,170 @@
+// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: aesdec -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+aesdec -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesdec 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+aesdec 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesdec 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x8a,0xf0,0x1c,0xf0,0x1c]
+aesdec 485498096(%edx), %xmm1
+
+// CHECK: aesdec 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x0d,0xf0,0x1c,0xf0,0x1c]
+aesdec 485498096, %xmm1
+
+// CHECK: aesdec 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x4c,0x02,0x40]
+aesdec 64(%edx,%eax), %xmm1
+
+// CHECK: aesdec (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x0a]
+aesdec (%edx), %xmm1
+
+// CHECK: aesdeclast -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+aesdeclast -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesdeclast 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+aesdeclast 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesdeclast 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x8a,0xf0,0x1c,0xf0,0x1c]
+aesdeclast 485498096(%edx), %xmm1
+
+// CHECK: aesdeclast 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x0d,0xf0,0x1c,0xf0,0x1c]
+aesdeclast 485498096, %xmm1
+
+// CHECK: aesdeclast 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x4c,0x02,0x40]
+aesdeclast 64(%edx,%eax), %xmm1
+
+// CHECK: aesdeclast (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x0a]
+aesdeclast (%edx), %xmm1
+
+// CHECK: aesdeclast %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0xc9]
+aesdeclast %xmm1, %xmm1
+
+// CHECK: aesdec %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0xc9]
+aesdec %xmm1, %xmm1
+
+// CHECK: aesenc -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+aesenc -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesenc 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+aesenc 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesenc 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x8a,0xf0,0x1c,0xf0,0x1c]
+aesenc 485498096(%edx), %xmm1
+
+// CHECK: aesenc 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x0d,0xf0,0x1c,0xf0,0x1c]
+aesenc 485498096, %xmm1
+
+// CHECK: aesenc 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x4c,0x02,0x40]
+aesenc 64(%edx,%eax), %xmm1
+
+// CHECK: aesenc (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x0a]
+aesenc (%edx), %xmm1
+
+// CHECK: aesenclast -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+aesenclast -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesenclast 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+aesenclast 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesenclast 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x8a,0xf0,0x1c,0xf0,0x1c]
+aesenclast 485498096(%edx), %xmm1
+
+// CHECK: aesenclast 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x0d,0xf0,0x1c,0xf0,0x1c]
+aesenclast 485498096, %xmm1
+
+// CHECK: aesenclast 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x4c,0x02,0x40]
+aesenclast 64(%edx,%eax), %xmm1
+
+// CHECK: aesenclast (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x0a]
+aesenclast (%edx), %xmm1
+
+// CHECK: aesenclast %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0xc9]
+aesenclast %xmm1, %xmm1
+
+// CHECK: aesenc %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0xc9]
+aesenc %xmm1, %xmm1
+
+// CHECK: aesimc -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+aesimc -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesimc 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+aesimc 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aesimc 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x8a,0xf0,0x1c,0xf0,0x1c]
+aesimc 485498096(%edx), %xmm1
+
+// CHECK: aesimc 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x0d,0xf0,0x1c,0xf0,0x1c]
+aesimc 485498096, %xmm1
+
+// CHECK: aesimc 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x4c,0x02,0x40]
+aesimc 64(%edx,%eax), %xmm1
+
+// CHECK: aesimc (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x0a]
+aesimc (%edx), %xmm1
+
+// CHECK: aesimc %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0xc9]
+aesimc %xmm1, %xmm1
+
+// CHECK: aeskeygenassist $0, -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
+aeskeygenassist $0, -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aeskeygenassist $0, 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
+aeskeygenassist $0, 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: aeskeygenassist $0, 485498096(%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
+aeskeygenassist $0, 485498096(%edx), %xmm1
+
+// CHECK: aeskeygenassist $0, 485498096, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
+aeskeygenassist $0, 485498096, %xmm1
+
+// CHECK: aeskeygenassist $0, 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x4c,0x02,0x40,0x00]
+aeskeygenassist $0, 64(%edx,%eax), %xmm1
+
+// CHECK: aeskeygenassist $0, (%edx), %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x0a,0x00]
+aeskeygenassist $0, (%edx), %xmm1
+
+// CHECK: aeskeygenassist $0, %xmm1, %xmm1
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0xc9,0x00]
+aeskeygenassist $0, %xmm1, %xmm1
+
Added: llvm/trunk/test/MC/X86/AES-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AES-64.s?rev=320670&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/AES-64.s (added)
+++ llvm/trunk/test/MC/X86/AES-64.s Wed Dec 13 23:26:08 2017
@@ -0,0 +1,338 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: aesdec 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+aesdec 485498096, %xmm15
+
+// CHECK: aesdec 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+aesdec 485498096, %xmm6
+
+// CHECK: aesdec 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x7c,0x82,0x40]
+aesdec 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesdec -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x7c,0x82,0xc0]
+aesdec -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesdec 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x74,0x82,0x40]
+aesdec 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesdec -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x74,0x82,0xc0]
+aesdec -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesdec 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x7c,0x02,0x40]
+aesdec 64(%rdx,%rax), %xmm15
+
+// CHECK: aesdec 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x74,0x02,0x40]
+aesdec 64(%rdx,%rax), %xmm6
+
+// CHECK: aesdec 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x7a,0x40]
+aesdec 64(%rdx), %xmm15
+
+// CHECK: aesdec 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x72,0x40]
+aesdec 64(%rdx), %xmm6
+
+// CHECK: aesdeclast 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+aesdeclast 485498096, %xmm15
+
+// CHECK: aesdeclast 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+aesdeclast 485498096, %xmm6
+
+// CHECK: aesdeclast 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x7c,0x82,0x40]
+aesdeclast 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesdeclast -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x7c,0x82,0xc0]
+aesdeclast -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesdeclast 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x74,0x82,0x40]
+aesdeclast 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesdeclast -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x74,0x82,0xc0]
+aesdeclast -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesdeclast 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x7c,0x02,0x40]
+aesdeclast 64(%rdx,%rax), %xmm15
+
+// CHECK: aesdeclast 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x74,0x02,0x40]
+aesdeclast 64(%rdx,%rax), %xmm6
+
+// CHECK: aesdeclast 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x7a,0x40]
+aesdeclast 64(%rdx), %xmm15
+
+// CHECK: aesdeclast 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x72,0x40]
+aesdeclast 64(%rdx), %xmm6
+
+// CHECK: aesdeclast (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdf,0x3a]
+aesdeclast (%rdx), %xmm15
+
+// CHECK: aesdeclast (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0x32]
+aesdeclast (%rdx), %xmm6
+
+// CHECK: aesdeclast %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x38,0xdf,0xff]
+aesdeclast %xmm15, %xmm15
+
+// CHECK: aesdeclast %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdf,0xf6]
+aesdeclast %xmm6, %xmm6
+
+// CHECK: aesdec (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xde,0x3a]
+aesdec (%rdx), %xmm15
+
+// CHECK: aesdec (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0x32]
+aesdec (%rdx), %xmm6
+
+// CHECK: aesdec %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x38,0xde,0xff]
+aesdec %xmm15, %xmm15
+
+// CHECK: aesdec %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xde,0xf6]
+aesdec %xmm6, %xmm6
+
+// CHECK: aesenc 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+aesenc 485498096, %xmm15
+
+// CHECK: aesenc 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+aesenc 485498096, %xmm6
+
+// CHECK: aesenc 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x7c,0x82,0x40]
+aesenc 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesenc -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x7c,0x82,0xc0]
+aesenc -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesenc 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x74,0x82,0x40]
+aesenc 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesenc -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x74,0x82,0xc0]
+aesenc -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesenc 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x7c,0x02,0x40]
+aesenc 64(%rdx,%rax), %xmm15
+
+// CHECK: aesenc 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x74,0x02,0x40]
+aesenc 64(%rdx,%rax), %xmm6
+
+// CHECK: aesenc 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x7a,0x40]
+aesenc 64(%rdx), %xmm15
+
+// CHECK: aesenc 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x72,0x40]
+aesenc 64(%rdx), %xmm6
+
+// CHECK: aesenclast 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+aesenclast 485498096, %xmm15
+
+// CHECK: aesenclast 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+aesenclast 485498096, %xmm6
+
+// CHECK: aesenclast 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x7c,0x82,0x40]
+aesenclast 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesenclast -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x7c,0x82,0xc0]
+aesenclast -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesenclast 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x74,0x82,0x40]
+aesenclast 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesenclast -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x74,0x82,0xc0]
+aesenclast -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesenclast 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x7c,0x02,0x40]
+aesenclast 64(%rdx,%rax), %xmm15
+
+// CHECK: aesenclast 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x74,0x02,0x40]
+aesenclast 64(%rdx,%rax), %xmm6
+
+// CHECK: aesenclast 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x7a,0x40]
+aesenclast 64(%rdx), %xmm15
+
+// CHECK: aesenclast 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x72,0x40]
+aesenclast 64(%rdx), %xmm6
+
+// CHECK: aesenclast (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdd,0x3a]
+aesenclast (%rdx), %xmm15
+
+// CHECK: aesenclast (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0x32]
+aesenclast (%rdx), %xmm6
+
+// CHECK: aesenclast %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x38,0xdd,0xff]
+aesenclast %xmm15, %xmm15
+
+// CHECK: aesenclast %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdd,0xf6]
+aesenclast %xmm6, %xmm6
+
+// CHECK: aesenc (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdc,0x3a]
+aesenc (%rdx), %xmm15
+
+// CHECK: aesenc (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0x32]
+aesenc (%rdx), %xmm6
+
+// CHECK: aesenc %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x38,0xdc,0xff]
+aesenc %xmm15, %xmm15
+
+// CHECK: aesenc %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdc,0xf6]
+aesenc %xmm6, %xmm6
+
+// CHECK: aesimc 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+aesimc 485498096, %xmm15
+
+// CHECK: aesimc 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+aesimc 485498096, %xmm6
+
+// CHECK: aesimc 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x7c,0x82,0x40]
+aesimc 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesimc -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x7c,0x82,0xc0]
+aesimc -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aesimc 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x74,0x82,0x40]
+aesimc 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesimc -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x74,0x82,0xc0]
+aesimc -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aesimc 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x7c,0x02,0x40]
+aesimc 64(%rdx,%rax), %xmm15
+
+// CHECK: aesimc 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x74,0x02,0x40]
+aesimc 64(%rdx,%rax), %xmm6
+
+// CHECK: aesimc 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x7a,0x40]
+aesimc 64(%rdx), %xmm15
+
+// CHECK: aesimc 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x72,0x40]
+aesimc 64(%rdx), %xmm6
+
+// CHECK: aesimc (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x38,0xdb,0x3a]
+aesimc (%rdx), %xmm15
+
+// CHECK: aesimc (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0x32]
+aesimc (%rdx), %xmm6
+
+// CHECK: aesimc %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x38,0xdb,0xff]
+aesimc %xmm15, %xmm15
+
+// CHECK: aesimc %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x38,0xdb,0xf6]
+aesimc %xmm6, %xmm6
+
+// CHECK: aeskeygenassist $0, 485498096, %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
+aeskeygenassist $0, 485498096, %xmm15
+
+// CHECK: aeskeygenassist $0, 485498096, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
+aeskeygenassist $0, 485498096, %xmm6
+
+// CHECK: aeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x7c,0x82,0x40,0x00]
+aeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
+
+// CHECK: aeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x7c,0x82,0xc0,0x00]
+aeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
+
+// CHECK: aeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x74,0x82,0x40,0x00]
+aeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
+
+// CHECK: aeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x74,0x82,0xc0,0x00]
+aeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
+
+// CHECK: aeskeygenassist $0, 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x7c,0x02,0x40,0x00]
+aeskeygenassist $0, 64(%rdx,%rax), %xmm15
+
+// CHECK: aeskeygenassist $0, 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x74,0x02,0x40,0x00]
+aeskeygenassist $0, 64(%rdx,%rax), %xmm6
+
+// CHECK: aeskeygenassist $0, 64(%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x7a,0x40,0x00]
+aeskeygenassist $0, 64(%rdx), %xmm15
+
+// CHECK: aeskeygenassist $0, 64(%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x72,0x40,0x00]
+aeskeygenassist $0, 64(%rdx), %xmm6
+
+// CHECK: aeskeygenassist $0, (%rdx), %xmm15
+// CHECK: encoding: [0x66,0x44,0x0f,0x3a,0xdf,0x3a,0x00]
+aeskeygenassist $0, (%rdx), %xmm15
+
+// CHECK: aeskeygenassist $0, (%rdx), %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0x32,0x00]
+aeskeygenassist $0, (%rdx), %xmm6
+
+// CHECK: aeskeygenassist $0, %xmm15, %xmm15
+// CHECK: encoding: [0x66,0x45,0x0f,0x3a,0xdf,0xff,0x00]
+aeskeygenassist $0, %xmm15, %xmm15
+
+// CHECK: aeskeygenassist $0, %xmm6, %xmm6
+// CHECK: encoding: [0x66,0x0f,0x3a,0xdf,0xf6,0x00]
+aeskeygenassist $0, %xmm6, %xmm6
+
Added: llvm/trunk/test/MC/X86/AVXAES-32.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AVXAES-32.s?rev=320670&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/AVXAES-32.s (added)
+++ llvm/trunk/test/MC/X86/AVXAES-32.s Wed Dec 13 23:26:08 2017
@@ -0,0 +1,170 @@
+// RUN: llvm-mc -triple i386-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: vaesdec -485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+vaesdec -485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesdec 485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+vaesdec 485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesdec 485498096(%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x8a,0xf0,0x1c,0xf0,0x1c]
+vaesdec 485498096(%edx), %xmm1, %xmm1
+
+// CHECK: vaesdec 485498096, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x0d,0xf0,0x1c,0xf0,0x1c]
+vaesdec 485498096, %xmm1, %xmm1
+
+// CHECK: vaesdec 64(%edx,%eax), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x4c,0x02,0x40]
+vaesdec 64(%edx,%eax), %xmm1, %xmm1
+
+// CHECK: vaesdec (%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0x0a]
+vaesdec (%edx), %xmm1, %xmm1
+
+// CHECK: vaesdeclast -485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+vaesdeclast -485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesdeclast 485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+vaesdeclast 485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesdeclast 485498096(%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x8a,0xf0,0x1c,0xf0,0x1c]
+vaesdeclast 485498096(%edx), %xmm1, %xmm1
+
+// CHECK: vaesdeclast 485498096, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x0d,0xf0,0x1c,0xf0,0x1c]
+vaesdeclast 485498096, %xmm1, %xmm1
+
+// CHECK: vaesdeclast 64(%edx,%eax), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x4c,0x02,0x40]
+vaesdeclast 64(%edx,%eax), %xmm1, %xmm1
+
+// CHECK: vaesdeclast (%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0x0a]
+vaesdeclast (%edx), %xmm1, %xmm1
+
+// CHECK: vaesdeclast %xmm1, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdf,0xc9]
+vaesdeclast %xmm1, %xmm1, %xmm1
+
+// CHECK: vaesdec %xmm1, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xde,0xc9]
+vaesdec %xmm1, %xmm1, %xmm1
+
+// CHECK: vaesenc -485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+vaesenc -485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesenc 485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+vaesenc 485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesenc 485498096(%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x8a,0xf0,0x1c,0xf0,0x1c]
+vaesenc 485498096(%edx), %xmm1, %xmm1
+
+// CHECK: vaesenc 485498096, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x0d,0xf0,0x1c,0xf0,0x1c]
+vaesenc 485498096, %xmm1, %xmm1
+
+// CHECK: vaesenc 64(%edx,%eax), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x4c,0x02,0x40]
+vaesenc 64(%edx,%eax), %xmm1, %xmm1
+
+// CHECK: vaesenc (%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0x0a]
+vaesenc (%edx), %xmm1, %xmm1
+
+// CHECK: vaesenclast -485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+vaesenclast -485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesenclast 485498096(%edx,%eax,4), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+vaesenclast 485498096(%edx,%eax,4), %xmm1, %xmm1
+
+// CHECK: vaesenclast 485498096(%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x8a,0xf0,0x1c,0xf0,0x1c]
+vaesenclast 485498096(%edx), %xmm1, %xmm1
+
+// CHECK: vaesenclast 485498096, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x0d,0xf0,0x1c,0xf0,0x1c]
+vaesenclast 485498096, %xmm1, %xmm1
+
+// CHECK: vaesenclast 64(%edx,%eax), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x4c,0x02,0x40]
+vaesenclast 64(%edx,%eax), %xmm1, %xmm1
+
+// CHECK: vaesenclast (%edx), %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0x0a]
+vaesenclast (%edx), %xmm1, %xmm1
+
+// CHECK: vaesenclast %xmm1, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdd,0xc9]
+vaesenclast %xmm1, %xmm1, %xmm1
+
+// CHECK: vaesenc %xmm1, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x71,0xdc,0xc9]
+vaesenc %xmm1, %xmm1, %xmm1
+
+// CHECK: vaesimc -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x8c,0x82,0x10,0xe3,0x0f,0xe3]
+vaesimc -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: vaesimc 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x8c,0x82,0xf0,0x1c,0xf0,0x1c]
+vaesimc 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: vaesimc 485498096(%edx), %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x8a,0xf0,0x1c,0xf0,0x1c]
+vaesimc 485498096(%edx), %xmm1
+
+// CHECK: vaesimc 485498096, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x0d,0xf0,0x1c,0xf0,0x1c]
+vaesimc 485498096, %xmm1
+
+// CHECK: vaesimc 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x4c,0x02,0x40]
+vaesimc 64(%edx,%eax), %xmm1
+
+// CHECK: vaesimc (%edx), %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x0a]
+vaesimc (%edx), %xmm1
+
+// CHECK: vaesimc %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0xc9]
+vaesimc %xmm1, %xmm1
+
+// CHECK: vaeskeygenassist $0, -485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x8c,0x82,0x10,0xe3,0x0f,0xe3,0x00]
+vaeskeygenassist $0, -485498096(%edx,%eax,4), %xmm1
+
+// CHECK: vaeskeygenassist $0, 485498096(%edx,%eax,4), %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x8c,0x82,0xf0,0x1c,0xf0,0x1c,0x00]
+vaeskeygenassist $0, 485498096(%edx,%eax,4), %xmm1
+
+// CHECK: vaeskeygenassist $0, 485498096(%edx), %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x8a,0xf0,0x1c,0xf0,0x1c,0x00]
+vaeskeygenassist $0, 485498096(%edx), %xmm1
+
+// CHECK: vaeskeygenassist $0, 485498096, %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x0d,0xf0,0x1c,0xf0,0x1c,0x00]
+vaeskeygenassist $0, 485498096, %xmm1
+
+// CHECK: vaeskeygenassist $0, 64(%edx,%eax), %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x4c,0x02,0x40,0x00]
+vaeskeygenassist $0, 64(%edx,%eax), %xmm1
+
+// CHECK: vaeskeygenassist $0, (%edx), %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x0a,0x00]
+vaeskeygenassist $0, (%edx), %xmm1
+
+// CHECK: vaeskeygenassist $0, %xmm1, %xmm1
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0xc9,0x00]
+vaeskeygenassist $0, %xmm1, %xmm1
+
Added: llvm/trunk/test/MC/X86/AVXAES-64.s
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/test/MC/X86/AVXAES-64.s?rev=320670&view=auto
==============================================================================
--- llvm/trunk/test/MC/X86/AVXAES-64.s (added)
+++ llvm/trunk/test/MC/X86/AVXAES-64.s Wed Dec 13 23:26:08 2017
@@ -0,0 +1,338 @@
+// RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
+
+// CHECK: vaesdec 485498096, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesdec 485498096, %xmm15, %xmm15
+
+// CHECK: vaesdec 485498096, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesdec 485498096, %xmm6, %xmm6
+
+// CHECK: vaesdec 64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x82,0x40]
+vaesdec 64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesdec -64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x82,0xc0]
+vaesdec -64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesdec 64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x82,0x40]
+vaesdec 64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesdec -64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x82,0xc0]
+vaesdec -64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesdec 64(%rdx,%rax), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7c,0x02,0x40]
+vaesdec 64(%rdx,%rax), %xmm15, %xmm15
+
+// CHECK: vaesdec 64(%rdx,%rax), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x74,0x02,0x40]
+vaesdec 64(%rdx,%rax), %xmm6, %xmm6
+
+// CHECK: vaesdec 64(%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x7a,0x40]
+vaesdec 64(%rdx), %xmm15, %xmm15
+
+// CHECK: vaesdec 64(%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x72,0x40]
+vaesdec 64(%rdx), %xmm6, %xmm6
+
+// CHECK: vaesdeclast 485498096, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesdeclast 485498096, %xmm15, %xmm15
+
+// CHECK: vaesdeclast 485498096, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesdeclast 485498096, %xmm6, %xmm6
+
+// CHECK: vaesdeclast 64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0x40]
+vaesdeclast 64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesdeclast -64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x82,0xc0]
+vaesdeclast -64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesdeclast 64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0x40]
+vaesdeclast 64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesdeclast -64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x82,0xc0]
+vaesdeclast -64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesdeclast 64(%rdx,%rax), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7c,0x02,0x40]
+vaesdeclast 64(%rdx,%rax), %xmm15, %xmm15
+
+// CHECK: vaesdeclast 64(%rdx,%rax), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x74,0x02,0x40]
+vaesdeclast 64(%rdx,%rax), %xmm6, %xmm6
+
+// CHECK: vaesdeclast 64(%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x7a,0x40]
+vaesdeclast 64(%rdx), %xmm15, %xmm15
+
+// CHECK: vaesdeclast 64(%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x72,0x40]
+vaesdeclast 64(%rdx), %xmm6, %xmm6
+
+// CHECK: vaesdeclast (%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdf,0x3a]
+vaesdeclast (%rdx), %xmm15, %xmm15
+
+// CHECK: vaesdeclast (%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0x32]
+vaesdeclast (%rdx), %xmm6, %xmm6
+
+// CHECK: vaesdeclast %xmm15, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x42,0x01,0xdf,0xff]
+vaesdeclast %xmm15, %xmm15, %xmm15
+
+// CHECK: vaesdeclast %xmm6, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdf,0xf6]
+vaesdeclast %xmm6, %xmm6, %xmm6
+
+// CHECK: vaesdec (%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xde,0x3a]
+vaesdec (%rdx), %xmm15, %xmm15
+
+// CHECK: vaesdec (%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0x32]
+vaesdec (%rdx), %xmm6, %xmm6
+
+// CHECK: vaesdec %xmm15, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x42,0x01,0xde,0xff]
+vaesdec %xmm15, %xmm15, %xmm15
+
+// CHECK: vaesdec %xmm6, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xde,0xf6]
+vaesdec %xmm6, %xmm6, %xmm6
+
+// CHECK: vaesenc 485498096, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesenc 485498096, %xmm15, %xmm15
+
+// CHECK: vaesenc 485498096, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesenc 485498096, %xmm6, %xmm6
+
+// CHECK: vaesenc 64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0x40]
+vaesenc 64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesenc -64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x82,0xc0]
+vaesenc -64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesenc 64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0x40]
+vaesenc 64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesenc -64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x82,0xc0]
+vaesenc -64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesenc 64(%rdx,%rax), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7c,0x02,0x40]
+vaesenc 64(%rdx,%rax), %xmm15, %xmm15
+
+// CHECK: vaesenc 64(%rdx,%rax), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x74,0x02,0x40]
+vaesenc 64(%rdx,%rax), %xmm6, %xmm6
+
+// CHECK: vaesenc 64(%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x7a,0x40]
+vaesenc 64(%rdx), %xmm15, %xmm15
+
+// CHECK: vaesenc 64(%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x72,0x40]
+vaesenc 64(%rdx), %xmm6, %xmm6
+
+// CHECK: vaesenclast 485498096, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesenclast 485498096, %xmm15, %xmm15
+
+// CHECK: vaesenclast 485498096, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesenclast 485498096, %xmm6, %xmm6
+
+// CHECK: vaesenclast 64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0x40]
+vaesenclast 64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesenclast -64(%rdx,%rax,4), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x82,0xc0]
+vaesenclast -64(%rdx,%rax,4), %xmm15, %xmm15
+
+// CHECK: vaesenclast 64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0x40]
+vaesenclast 64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesenclast -64(%rdx,%rax,4), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x82,0xc0]
+vaesenclast -64(%rdx,%rax,4), %xmm6, %xmm6
+
+// CHECK: vaesenclast 64(%rdx,%rax), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7c,0x02,0x40]
+vaesenclast 64(%rdx,%rax), %xmm15, %xmm15
+
+// CHECK: vaesenclast 64(%rdx,%rax), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x74,0x02,0x40]
+vaesenclast 64(%rdx,%rax), %xmm6, %xmm6
+
+// CHECK: vaesenclast 64(%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x7a,0x40]
+vaesenclast 64(%rdx), %xmm15, %xmm15
+
+// CHECK: vaesenclast 64(%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x72,0x40]
+vaesenclast 64(%rdx), %xmm6, %xmm6
+
+// CHECK: vaesenclast (%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdd,0x3a]
+vaesenclast (%rdx), %xmm15, %xmm15
+
+// CHECK: vaesenclast (%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0x32]
+vaesenclast (%rdx), %xmm6, %xmm6
+
+// CHECK: vaesenclast %xmm15, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x42,0x01,0xdd,0xff]
+vaesenclast %xmm15, %xmm15, %xmm15
+
+// CHECK: vaesenclast %xmm6, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdd,0xf6]
+vaesenclast %xmm6, %xmm6, %xmm6
+
+// CHECK: vaesenc (%rdx), %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x01,0xdc,0x3a]
+vaesenc (%rdx), %xmm15, %xmm15
+
+// CHECK: vaesenc (%rdx), %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0x32]
+vaesenc (%rdx), %xmm6, %xmm6
+
+// CHECK: vaesenc %xmm15, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x42,0x01,0xdc,0xff]
+vaesenc %xmm15, %xmm15, %xmm15
+
+// CHECK: vaesenc %xmm6, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x49,0xdc,0xf6]
+vaesenc %xmm6, %xmm6, %xmm6
+
+// CHECK: vaesimc 485498096, %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x3c,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesimc 485498096, %xmm15
+
+// CHECK: vaesimc 485498096, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x34,0x25,0xf0,0x1c,0xf0,0x1c]
+vaesimc 485498096, %xmm6
+
+// CHECK: vaesimc 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0x40]
+vaesimc 64(%rdx,%rax,4), %xmm15
+
+// CHECK: vaesimc -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x82,0xc0]
+vaesimc -64(%rdx,%rax,4), %xmm15
+
+// CHECK: vaesimc 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0x40]
+vaesimc 64(%rdx,%rax,4), %xmm6
+
+// CHECK: vaesimc -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x82,0xc0]
+vaesimc -64(%rdx,%rax,4), %xmm6
+
+// CHECK: vaesimc 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7c,0x02,0x40]
+vaesimc 64(%rdx,%rax), %xmm15
+
+// CHECK: vaesimc 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x74,0x02,0x40]
+vaesimc 64(%rdx,%rax), %xmm6
+
+// CHECK: vaesimc 64(%rdx), %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x7a,0x40]
+vaesimc 64(%rdx), %xmm15
+
+// CHECK: vaesimc 64(%rdx), %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x72,0x40]
+vaesimc 64(%rdx), %xmm6
+
+// CHECK: vaesimc (%rdx), %xmm15
+// CHECK: encoding: [0xc4,0x62,0x79,0xdb,0x3a]
+vaesimc (%rdx), %xmm15
+
+// CHECK: vaesimc (%rdx), %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0x32]
+vaesimc (%rdx), %xmm6
+
+// CHECK: vaesimc %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x42,0x79,0xdb,0xff]
+vaesimc %xmm15, %xmm15
+
+// CHECK: vaesimc %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe2,0x79,0xdb,0xf6]
+vaesimc %xmm6, %xmm6
+
+// CHECK: vaeskeygenassist $0, 485498096, %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x3c,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
+vaeskeygenassist $0, 485498096, %xmm15
+
+// CHECK: vaeskeygenassist $0, 485498096, %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x34,0x25,0xf0,0x1c,0xf0,0x1c,0x00]
+vaeskeygenassist $0, 485498096, %xmm6
+
+// CHECK: vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm15
+
+// CHECK: vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x82,0xc0,0x00]
+vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm15
+
+// CHECK: vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx,%rax,4), %xmm6
+
+// CHECK: vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x82,0xc0,0x00]
+vaeskeygenassist $0, -64(%rdx,%rax,4), %xmm6
+
+// CHECK: vaeskeygenassist $0, 64(%rdx,%rax), %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7c,0x02,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx,%rax), %xmm15
+
+// CHECK: vaeskeygenassist $0, 64(%rdx,%rax), %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x74,0x02,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx,%rax), %xmm6
+
+// CHECK: vaeskeygenassist $0, 64(%rdx), %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x7a,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx), %xmm15
+
+// CHECK: vaeskeygenassist $0, 64(%rdx), %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x72,0x40,0x00]
+vaeskeygenassist $0, 64(%rdx), %xmm6
+
+// CHECK: vaeskeygenassist $0, (%rdx), %xmm15
+// CHECK: encoding: [0xc4,0x63,0x79,0xdf,0x3a,0x00]
+vaeskeygenassist $0, (%rdx), %xmm15
+
+// CHECK: vaeskeygenassist $0, (%rdx), %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0x32,0x00]
+vaeskeygenassist $0, (%rdx), %xmm6
+
+// CHECK: vaeskeygenassist $0, %xmm15, %xmm15
+// CHECK: encoding: [0xc4,0x43,0x79,0xdf,0xff,0x00]
+vaeskeygenassist $0, %xmm15, %xmm15
+
+// CHECK: vaeskeygenassist $0, %xmm6, %xmm6
+// CHECK: encoding: [0xc4,0xe3,0x79,0xdf,0xf6,0x00]
+vaeskeygenassist $0, %xmm6, %xmm6
+
More information about the llvm-commits
mailing list