# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s

## aadd

# CHECK: {evex}	aadd	dword ptr [rax + 4*rbx + 123], ecx
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aadd	dword ptr [rax + 4*rbx + 123], ecx

# CHECK: {evex}	aadd	qword ptr [rax + 4*rbx + 123], r9
# CHECK: encoding: [0x62,0x74,0xfc,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aadd	qword ptr [rax + 4*rbx + 123], r9

# CHECK: aadd	dword ptr [r28 + 4*r29 + 291], r18d
# CHECK: encoding: [0x62,0x8c,0x78,0x08,0xfc,0x94,0xac,0x23,0x01,0x00,0x00]
         aadd	dword ptr [r28 + 4*r29 + 291], r18d

# CHECK: aadd	qword ptr [r28 + 4*r29 + 291], r19
# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xfc,0x9c,0xac,0x23,0x01,0x00,0x00]
         aadd	qword ptr [r28 + 4*r29 + 291], r19

## aand

# CHECK: {evex}	aand	dword ptr [rax + 4*rbx + 123], ecx
# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aand	dword ptr [rax + 4*rbx + 123], ecx

# CHECK: {evex}	aand	qword ptr [rax + 4*rbx + 123], r9
# CHECK: encoding: [0x62,0x74,0xfd,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aand	qword ptr [rax + 4*rbx + 123], r9

# CHECK: aand	dword ptr [r28 + 4*r29 + 291], r18d
# CHECK: encoding: [0x62,0x8c,0x79,0x08,0xfc,0x94,0xac,0x23,0x01,0x00,0x00]
         aand	dword ptr [r28 + 4*r29 + 291], r18d

# CHECK: aand	qword ptr [r28 + 4*r29 + 291], r19
# CHECK: encoding: [0x62,0x8c,0xf9,0x08,0xfc,0x9c,0xac,0x23,0x01,0x00,0x00]
         aand	qword ptr [r28 + 4*r29 + 291], r19

## aor

# CHECK: {evex}	aor	dword ptr [rax + 4*rbx + 123], ecx
# CHECK: encoding: [0x62,0xf4,0x7f,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aor	dword ptr [rax + 4*rbx + 123], ecx

# CHECK: {evex}	aor	qword ptr [rax + 4*rbx + 123], r9
# CHECK: encoding: [0x62,0x74,0xff,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	aor	qword ptr [rax + 4*rbx + 123], r9

# CHECK: aor	dword ptr [r28 + 4*r29 + 291], r18d
# CHECK: encoding: [0x62,0x8c,0x7b,0x08,0xfc,0x94,0xac,0x23,0x01,0x00,0x00]
         aor	dword ptr [r28 + 4*r29 + 291], r18d

# CHECK: aor	qword ptr [r28 + 4*r29 + 291], r19
# CHECK: encoding: [0x62,0x8c,0xfb,0x08,0xfc,0x9c,0xac,0x23,0x01,0x00,0x00]
         aor	qword ptr [r28 + 4*r29 + 291], r19

## axor

# CHECK: {evex}	axor	dword ptr [rax + 4*rbx + 123], ecx
# CHECK: encoding: [0x62,0xf4,0x7e,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	axor	dword ptr [rax + 4*rbx + 123], ecx

# CHECK: {evex}	axor	qword ptr [rax + 4*rbx + 123], r9
# CHECK: encoding: [0x62,0x74,0xfe,0x08,0xfc,0x4c,0x98,0x7b]
         {evex}	axor	qword ptr [rax + 4*rbx + 123], r9

# CHECK: axor	dword ptr [r28 + 4*r29 + 291], r18d
# CHECK: encoding: [0x62,0x8c,0x7a,0x08,0xfc,0x94,0xac,0x23,0x01,0x00,0x00]
         axor	dword ptr [r28 + 4*r29 + 291], r18d

# CHECK: axor	qword ptr [r28 + 4*r29 + 291], r19
# CHECK: encoding: [0x62,0x8c,0xfa,0x08,0xfc,0x9c,0xac,0x23,0x01,0x00,0x00]
         axor	qword ptr [r28 + 4*r29 + 291], r19
