# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s
# CHECK: {evex} crc32 ebx, al
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf0,0xd8]
{evex} crc32 ebx, al
# CHECK: {evex} crc32 rbx, al
# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf0,0xd8]
{evex} crc32 rbx, al
# CHECK: {evex} crc32 ebx, ax
# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xf1,0xd8]
{evex} crc32 ebx, ax
# CHECK: {evex} crc32 ebx, eax
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf1,0xd8]
{evex} crc32 ebx, eax
# CHECK: {evex} crc32 rbx, rax
# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf1,0xd8]
{evex} crc32 rbx, rax
# CHECK: {evex} crc32 ecx, word ptr [rax + 4*rbx + 291]
# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00]
{evex} crc32 ecx, word ptr [rax + 4*rbx + 291]
# CHECK: {evex} crc32 ecx, dword ptr [rax + 4*rbx + 291]
# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00]
{evex} crc32 ecx, dword ptr [rax + 4*rbx + 291]
# CHECK: {evex} crc32 rcx, byte ptr [rax + 4*rbx + 291]
# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf0,0x8c,0x98,0x23,0x01,0x00,0x00]
{evex} crc32 rcx, byte ptr [rax + 4*rbx + 291]
# CHECK: {evex} crc32 rcx, qword ptr [rax + 4*rbx + 291]
# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00]
{evex} crc32 rcx, qword ptr [rax + 4*rbx + 291]
# CHECK: crc32 r22d, r16b
# CHECK: encoding: [0x62,0xec,0x7c,0x08,0xf0,0xf0]
crc32 r22d, r16b
# CHECK: crc32 r23, r16b
# CHECK: encoding: [0x62,0xec,0xfc,0x08,0xf0,0xf8]
crc32 r23, r16b
# CHECK: crc32 r22d, r17w
# CHECK: encoding: [0x62,0xec,0x7d,0x08,0xf1,0xf1]
crc32 r22d, r17w
# CHECK: crc32 r22d, r18d
# CHECK: encoding: [0x62,0xec,0x7c,0x08,0xf1,0xf2]
crc32 r22d, r18d
# CHECK: crc32 r23, r19
# CHECK: encoding: [0x62,0xec,0xfc,0x08,0xf1,0xfb]
crc32 r23, r19
# CHECK: crc32 r18d, word ptr [r28 + 4*r29 + 291]
# CHECK: encoding: [0x62,0x8c,0x79,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00]
crc32 r18d, word ptr [r28 + 4*r29 + 291]
# CHECK: crc32 r18d, dword ptr [r28 + 4*r29 + 291]
# CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00]
crc32 r18d, dword ptr [r28 + 4*r29 + 291]
# CHECK: crc32 r19, byte ptr [r28 + 4*r29 + 291]
# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00]
crc32 r19, byte ptr [r28 + 4*r29 + 291]
# CHECK: crc32 r19, qword ptr [r28 + 4*r29 + 291]
# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00]
crc32 r19, qword ptr [r28 + 4*r29 + 291]
# CHECK: crc32 r18d, word ptr [r28 + 4*r29 + 123]
# CHECK: encoding: [0x62,0x8c,0x79,0x08,0xf1,0x54,0xac,0x7b]
crc32 r18d, word ptr [r28 + 4*r29 + 123]
# CHECK: crc32 r18d, dword ptr [r28 + 4*r29 + 123]
# CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf1,0x54,0xac,0x7b]
crc32 r18d, dword ptr [r28 + 4*r29 + 123]
# CHECK: crc32 r19, byte ptr [r28 + 4*r29 + 123]
# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf0,0x5c,0xac,0x7b]
crc32 r19, byte ptr [r28 + 4*r29 + 123]
# CHECK: crc32 r19, qword ptr [r28 + 4*r29 + 123]
# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf1,0x5c,0xac,0x7b]
crc32 r19, qword ptr [r28 + 4*r29 + 123]