# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL

## aesdec128kl

# ATT:   aesdec128kl	123(%rax,%rbx,4), %xmm12
# INTEL: aesdec128kl	xmm12, [rax + 4*rbx + 123]
0x62,0x74,0x7e,0x08,0xdd,0x64,0x98,0x7b

# ATT:   aesdec128kl	291(%r28,%r29,4), %xmm12
# INTEL: aesdec128kl	xmm12, [r28 + 4*r29 + 291]
0x62,0x1c,0x7a,0x08,0xdd,0xa4,0xac,0x23,0x01,0x00,0x00

## aesdec256kl

# ATT:   aesdec256kl	123(%rax,%rbx,4), %xmm12
# INTEL: aesdec256kl	xmm12, [rax + 4*rbx + 123]
0x62,0x74,0x7e,0x08,0xdf,0x64,0x98,0x7b

# ATT:   aesdec256kl	291(%r28,%r29,4), %xmm12
# INTEL: aesdec256kl	xmm12, [r28 + 4*r29 + 291]
0x62,0x1c,0x7a,0x08,0xdf,0xa4,0xac,0x23,0x01,0x00,0x00

## aesdecwide128kl

# ATT:   aesdecwide128kl	123(%rax,%rbx,4)
# INTEL: aesdecwide128kl	[rax + 4*rbx + 123]
0x62,0xf4,0x7e,0x08,0xd8,0x4c,0x98,0x7b

# ATT:   aesdecwide128kl	291(%r28,%r29,4)
# INTEL: aesdecwide128kl	[r28 + 4*r29 + 291]
0x62,0x9c,0x7a,0x08,0xd8,0x8c,0xac,0x23,0x01,0x00,0x00

## aesdecwide256kl

# ATT:   aesdecwide256kl	123(%rax,%rbx,4)
# INTEL: aesdecwide256kl	[rax + 4*rbx + 123]
0x62,0xf4,0x7e,0x08,0xd8,0x5c,0x98,0x7b

# ATT:   aesdecwide256kl	291(%r28,%r29,4)
# INTEL: aesdecwide256kl	[r28 + 4*r29 + 291]
0x62,0x9c,0x7a,0x08,0xd8,0x9c,0xac,0x23,0x01,0x00,0x00

## aesenc128kl

# ATT:   aesenc128kl	123(%rax,%rbx,4), %xmm12
# INTEL: aesenc128kl	xmm12, [rax + 4*rbx + 123]
0x62,0x74,0x7e,0x08,0xdc,0x64,0x98,0x7b

# ATT:   aesenc128kl	291(%r28,%r29,4), %xmm12
# INTEL: aesenc128kl	xmm12, [r28 + 4*r29 + 291]
0x62,0x1c,0x7a,0x08,0xdc,0xa4,0xac,0x23,0x01,0x00,0x00

## aesenc256kl

# ATT:   aesenc256kl	123(%rax,%rbx,4), %xmm12
# INTEL: aesenc256kl	xmm12, [rax + 4*rbx + 123]
0x62,0x74,0x7e,0x08,0xde,0x64,0x98,0x7b

# ATT:   aesenc256kl	291(%r28,%r29,4), %xmm12
# INTEL: aesenc256kl	xmm12, [r28 + 4*r29 + 291]
0x62,0x1c,0x7a,0x08,0xde,0xa4,0xac,0x23,0x01,0x00,0x00

## aesencwide128kl

# ATT:   aesencwide128kl	123(%rax,%rbx,4)
# INTEL: aesencwide128kl	[rax + 4*rbx + 123]
0x62,0xf4,0x7e,0x08,0xd8,0x44,0x98,0x7b

# ATT:   aesencwide128kl	291(%r28,%r29,4)
# INTEL: aesencwide128kl	[r28 + 4*r29 + 291]
0x62,0x9c,0x7a,0x08,0xd8,0x84,0xac,0x23,0x01,0x00,0x00

## aesencwide256kl

# ATT:   aesencwide256kl	123(%rax,%rbx,4)
# INTEL: aesencwide256kl	[rax + 4*rbx + 123]
0x62,0xf4,0x7e,0x08,0xd8,0x54,0x98,0x7b

# ATT:   aesencwide256kl	291(%r28,%r29,4)
# INTEL: aesencwide256kl	[r28 + 4*r29 + 291]
0x62,0x9c,0x7a,0x08,0xd8,0x94,0xac,0x23,0x01,0x00,0x00

## encodekey128

# ATT:   encodekey128	%ecx, %edx
# INTEL: encodekey128	edx, ecx
0x62,0xf4,0x7e,0x08,0xda,0xd1

# ATT:   encodekey128	%r18d, %r22d
# INTEL: encodekey128	r22d, r18d
0x62,0xec,0x7e,0x08,0xda,0xf2

## encodekey256

# ATT:   encodekey256	%ecx, %edx
# INTEL: encodekey256	edx, ecx
0x62,0xf4,0x7e,0x08,0xdb,0xd1

# ATT:   encodekey256	%r18d, %r22d
# INTEL: encodekey256	r22d, r18d
0x62,0xec,0x7e,0x08,0xdb,0xf2
