[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