1# RUN: llvm-mc -triple x86_64 -x86-asm-syntax=intel -output-asm-variant=1 --show-encoding %s | FileCheck %s 2 3# CHECK: {evex} crc32 ebx, al 4# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf0,0xd8] 5 {evex} crc32 ebx, al 6 7# CHECK: {evex} crc32 rbx, al 8# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf0,0xd8] 9 {evex} crc32 rbx, al 10 11# CHECK: {evex} crc32 ebx, ax 12# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xf1,0xd8] 13 {evex} crc32 ebx, ax 14 15# CHECK: {evex} crc32 ebx, eax 16# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf1,0xd8] 17 {evex} crc32 ebx, eax 18 19# CHECK: {evex} crc32 rbx, rax 20# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf1,0xd8] 21 {evex} crc32 rbx, rax 22 23# CHECK: {evex} crc32 ecx, word ptr [rax + 4*rbx + 291] 24# CHECK: encoding: [0x62,0xf4,0x7d,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00] 25 {evex} crc32 ecx, word ptr [rax + 4*rbx + 291] 26 27# CHECK: {evex} crc32 ecx, dword ptr [rax + 4*rbx + 291] 28# CHECK: encoding: [0x62,0xf4,0x7c,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00] 29 {evex} crc32 ecx, dword ptr [rax + 4*rbx + 291] 30 31# CHECK: {evex} crc32 rcx, byte ptr [rax + 4*rbx + 291] 32# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf0,0x8c,0x98,0x23,0x01,0x00,0x00] 33 {evex} crc32 rcx, byte ptr [rax + 4*rbx + 291] 34 35# CHECK: {evex} crc32 rcx, qword ptr [rax + 4*rbx + 291] 36# CHECK: encoding: [0x62,0xf4,0xfc,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00] 37 {evex} crc32 rcx, qword ptr [rax + 4*rbx + 291] 38 39# CHECK: crc32 r22d, r16b 40# CHECK: encoding: [0x62,0xec,0x7c,0x08,0xf0,0xf0] 41 crc32 r22d, r16b 42 43# CHECK: crc32 r23, r16b 44# CHECK: encoding: [0x62,0xec,0xfc,0x08,0xf0,0xf8] 45 crc32 r23, r16b 46 47# CHECK: crc32 r22d, r17w 48# CHECK: encoding: [0x62,0xec,0x7d,0x08,0xf1,0xf1] 49 crc32 r22d, r17w 50 51# CHECK: crc32 r22d, r18d 52# CHECK: encoding: [0x62,0xec,0x7c,0x08,0xf1,0xf2] 53 crc32 r22d, r18d 54 55# CHECK: crc32 r23, r19 56# CHECK: encoding: [0x62,0xec,0xfc,0x08,0xf1,0xfb] 57 crc32 r23, r19 58 59# CHECK: crc32 r18d, word ptr [r28 + 4*r29 + 291] 60# CHECK: encoding: [0x62,0x8c,0x79,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00] 61 crc32 r18d, word ptr [r28 + 4*r29 + 291] 62 63# CHECK: crc32 r18d, dword ptr [r28 + 4*r29 + 291] 64# CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00] 65 crc32 r18d, dword ptr [r28 + 4*r29 + 291] 66 67# CHECK: crc32 r19, byte ptr [r28 + 4*r29 + 291] 68# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00] 69 crc32 r19, byte ptr [r28 + 4*r29 + 291] 70 71# CHECK: crc32 r19, qword ptr [r28 + 4*r29 + 291] 72# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00] 73 crc32 r19, qword ptr [r28 + 4*r29 + 291] 74 75# CHECK: crc32 r18d, word ptr [r28 + 4*r29 + 123] 76# CHECK: encoding: [0x62,0x8c,0x79,0x08,0xf1,0x54,0xac,0x7b] 77 crc32 r18d, word ptr [r28 + 4*r29 + 123] 78 79# CHECK: crc32 r18d, dword ptr [r28 + 4*r29 + 123] 80# CHECK: encoding: [0x62,0x8c,0x78,0x08,0xf1,0x54,0xac,0x7b] 81 crc32 r18d, dword ptr [r28 + 4*r29 + 123] 82 83# CHECK: crc32 r19, byte ptr [r28 + 4*r29 + 123] 84# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf0,0x5c,0xac,0x7b] 85 crc32 r19, byte ptr [r28 + 4*r29 + 123] 86 87# CHECK: crc32 r19, qword ptr [r28 + 4*r29 + 123] 88# CHECK: encoding: [0x62,0x8c,0xf8,0x08,0xf1,0x5c,0xac,0x7b] 89 crc32 r19, qword ptr [r28 + 4*r29 + 123] 90