1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-26 04:32:44 +01:00
llvm-mirror/test/MC/X86/AES-32.s
Gadi Haber 9635c35eec [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
llvm-svn: 320670
2017-12-14 07:26:08 +00:00

171 lines
6.0 KiB
ArmAsm

// 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