1 // RUN: llvm-mc -triple x86_64-unknown-unknown --show-encoding %s | FileCheck %s
3 // CHECK: crc32b %bl, %eax
4 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0xc3]
7 // CHECK: crc32b 4(%rbx), %eax
8 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x43,0x04]
11 // CHECK: crc32w %bx, %eax
12 // CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0xc3]
15 // CHECK: crc32w 4(%rbx), %eax
16 // CHECK: encoding: [0x66,0xf2,0x0f,0x38,0xf1,0x43,0x04]
19 // CHECK: crc32l %ebx, %eax
20 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xc3]
23 // CHECK: crc32l 4(%rbx), %eax
24 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x43,0x04]
27 // CHECK: crc32l 3735928559(%rbx,%rcx,8), %ecx
28 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x8c,0xcb,0xef,0xbe,0xad,0xde]
29 crc32l 0xdeadbeef(%rbx,%rcx,8),%ecx
31 // CHECK: crc32l 69, %ecx
32 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0x45,0x00,0x00,0x00]
35 // CHECK: crc32l 32493, %ecx
36 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0xed,0x7e,0x00,0x00]
39 // CHECK: crc32l 3133065982, %ecx
40 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0x0c,0x25,0xfe,0xca,0xbe,0xba]
41 crc32l 0xbabecafe,%ecx
43 // CHECK: crc32l %ecx, %ecx
44 // CHECK: encoding: [0xf2,0x0f,0x38,0xf1,0xc9]
47 // CHECK: crc32b %r11b, %eax
48 // CHECK: encoding: [0xf2,0x41,0x0f,0x38,0xf0,0xc3]
51 // CHECK: crc32b 4(%rbx), %eax
52 // CHECK: encoding: [0xf2,0x0f,0x38,0xf0,0x43,0x04]
55 // CHECK: crc32b %dil, %rax
56 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf0,0xc7]
59 // CHECK: crc32b %r11b, %rax
60 // CHECK: encoding: [0xf2,0x49,0x0f,0x38,0xf0,0xc3]
63 // CHECK: crc32b 4(%rbx), %rax
64 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf0,0x43,0x04]
67 // CHECK: crc32q %rbx, %rax
68 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf1,0xc3]
71 // CHECK: crc32q 4(%rbx), %rax
72 // CHECK: encoding: [0xf2,0x48,0x0f,0x38,0xf1,0x43,0x04]
75 // CHECK: movd %r8, %mm1
76 // CHECK: encoding: [0x49,0x0f,0x6e,0xc8]
79 // CHECK: movd %r8d, %mm1
80 // CHECK: encoding: [0x41,0x0f,0x6e,0xc8]
83 // CHECK: movd %rdx, %mm1
84 // CHECK: encoding: [0x48,0x0f,0x6e,0xca]
87 // CHECK: movd %edx, %mm1
88 // CHECK: encoding: [0x0f,0x6e,0xca]
91 // CHECK: movd %mm1, %r8
92 // CHECK: encoding: [0x49,0x0f,0x7e,0xc8]
95 // CHECK: movd %mm1, %r8d
96 // CHECK: encoding: [0x41,0x0f,0x7e,0xc8]
99 // CHECK: movd %mm1, %rdx
100 // CHECK: encoding: [0x48,0x0f,0x7e,0xca]
103 // CHECK: movd %mm1, %edx
104 // CHECK: encoding: [0x0f,0x7e,0xca]
107 // CHECK: vaddss %xmm8, %xmm9, %xmm10
108 // CHECK: encoding: [0xc4,0x41,0x32,0x58,0xd0]
109 vaddss %xmm8, %xmm9, %xmm10
111 // CHECK: vmulss %xmm8, %xmm9, %xmm10
112 // CHECK: encoding: [0xc4,0x41,0x32,0x59,0xd0]
113 vmulss %xmm8, %xmm9, %xmm10
115 // CHECK: vsubss %xmm8, %xmm9, %xmm10
116 // CHECK: encoding: [0xc4,0x41,0x32,0x5c,0xd0]
117 vsubss %xmm8, %xmm9, %xmm10
119 // CHECK: vdivss %xmm8, %xmm9, %xmm10
120 // CHECK: encoding: [0xc4,0x41,0x32,0x5e,0xd0]
121 vdivss %xmm8, %xmm9, %xmm10
123 // CHECK: vaddsd %xmm8, %xmm9, %xmm10
124 // CHECK: encoding: [0xc4,0x41,0x33,0x58,0xd0]
125 vaddsd %xmm8, %xmm9, %xmm10
127 // CHECK: vmulsd %xmm8, %xmm9, %xmm10
128 // CHECK: encoding: [0xc4,0x41,0x33,0x59,0xd0]
129 vmulsd %xmm8, %xmm9, %xmm10
131 // CHECK: vsubsd %xmm8, %xmm9, %xmm10
132 // CHECK: encoding: [0xc4,0x41,0x33,0x5c,0xd0]
133 vsubsd %xmm8, %xmm9, %xmm10
135 // CHECK: vdivsd %xmm8, %xmm9, %xmm10
136 // CHECK: encoding: [0xc4,0x41,0x33,0x5e,0xd0]
137 vdivsd %xmm8, %xmm9, %xmm10