xref: /llvm-project/llvm/test/MC/X86/apx/crc32-intel.s (revision d8db2733c87ef2ee54c322cbee76711147a94948)
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