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