xref: /llvm-project/llvm/test/MC/Disassembler/X86/apx/crc32.txt (revision d8db2733c87ef2ee54c322cbee76711147a94948)
1# RUN: llvm-mc --disassemble %s -triple=x86_64 | FileCheck %s --check-prefixes=ATT
2# RUN: llvm-mc --disassemble %s -triple=x86_64 -x86-asm-syntax=intel --output-asm-variant=1 | FileCheck %s --check-prefixes=INTEL
3
4# ATT:   crc32b	%al, %ebx
5# INTEL: crc32	ebx, al
60x62,0xf4,0x7c,0x08,0xf0,0xd8
7
8# ATT:   crc32b	%al, %rbx
9# INTEL: crc32	rbx, al
100x62,0xf4,0xfc,0x08,0xf0,0xd8
11
12# ATT:   crc32w	%ax, %ebx
13# INTEL: crc32	ebx, ax
140x62,0xf4,0x7d,0x08,0xf1,0xd8
15
16# ATT:   crc32l	%eax, %ebx
17# INTEL: crc32	ebx, eax
180x62,0xf4,0x7c,0x08,0xf1,0xd8
19
20# ATT:   crc32q	%rax, %rbx
21# INTEL: crc32	rbx, rax
220x62,0xf4,0xfc,0x08,0xf1,0xd8
23
24# ATT:   crc32w	291(%rax,%rbx,4), %ecx
25# INTEL: crc32	ecx, word ptr [rax + 4*rbx + 291]
260x62,0xf4,0x7d,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00
27
28# ATT:   crc32l	291(%rax,%rbx,4), %ecx
29# INTEL: crc32	ecx, dword ptr [rax + 4*rbx + 291]
300x62,0xf4,0x7c,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00
31
32# ATT:   crc32b	291(%rax,%rbx,4), %rcx
33# INTEL: crc32	rcx, byte ptr [rax + 4*rbx + 291]
340x62,0xf4,0xfc,0x08,0xf0,0x8c,0x98,0x23,0x01,0x00,0x00
35
36# ATT:   crc32q	291(%rax,%rbx,4), %rcx
37# INTEL: crc32	rcx, qword ptr [rax + 4*rbx + 291]
380x62,0xf4,0xfc,0x08,0xf1,0x8c,0x98,0x23,0x01,0x00,0x00
39
40# ATT:   crc32b	%r16b, %r22d
41# INTEL: crc32	r22d, r16b
420x62,0xec,0x7c,0x08,0xf0,0xf0
43
44# ATT:   crc32b	%r16b, %r23
45# INTEL: crc32	r23, r16b
460x62,0xec,0xfc,0x08,0xf0,0xf8
47
48# ATT:   crc32w	%r17w, %r22d
49# INTEL: crc32	r22d, r17w
500x62,0xec,0x7d,0x08,0xf1,0xf1
51
52# ATT:   crc32l	%r18d, %r22d
53# INTEL: crc32	r22d, r18d
540x62,0xec,0x7c,0x08,0xf1,0xf2
55
56# ATT:   crc32q	%r19, %r23
57# INTEL: crc32	r23, r19
580x62,0xec,0xfc,0x08,0xf1,0xfb
59
60# ATT:   crc32w	291(%r28,%r29,4), %r18d
61# INTEL: crc32	r18d, word ptr [r28 + 4*r29 + 291]
620x62,0x8c,0x79,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00
63
64# ATT:   crc32l	291(%r28,%r29,4), %r18d
65# INTEL: crc32	r18d, dword ptr [r28 + 4*r29 + 291]
660x62,0x8c,0x78,0x08,0xf1,0x94,0xac,0x23,0x01,0x00,0x00
67
68# ATT:   crc32b	291(%r28,%r29,4), %r19
69# INTEL: crc32	r19, byte ptr [r28 + 4*r29 + 291]
700x62,0x8c,0xf8,0x08,0xf0,0x9c,0xac,0x23,0x01,0x00,0x00
71
72# ATT:   crc32q	291(%r28,%r29,4), %r19
73# INTEL: crc32	r19, qword ptr [r28 + 4*r29 + 291]
740x62,0x8c,0xf8,0x08,0xf1,0x9c,0xac,0x23,0x01,0x00,0x00
75
76# ATT:   crc32w	123(%r28,%r29,4), %r18d
77# INTEL: crc32	r18d, word ptr [r28 + 4*r29 + 123]
780x62,0x8c,0x79,0x08,0xf1,0x54,0xac,0x7b
79
80# ATT:   crc32l	123(%r28,%r29,4), %r18d
81# INTEL: crc32	r18d, dword ptr [r28 + 4*r29 + 123]
820x62,0x8c,0x78,0x08,0xf1,0x54,0xac,0x7b
83
84# ATT:   crc32b	123(%r28,%r29,4), %r19
85# INTEL: crc32	r19, byte ptr [r28 + 4*r29 + 123]
860x62,0x8c,0xf8,0x08,0xf0,0x5c,0xac,0x7b
87
88# ATT:   crc32q	123(%r28,%r29,4), %r19
89# INTEL: crc32	r19, qword ptr [r28 + 4*r29 + 123]
900x62,0x8c,0xf8,0x08,0xf1,0x5c,0xac,0x7b
91