Lines Matching refs:POPCNT

4 …lc < %s -mtriple=i686-unknown-unknown -mattr=+popcnt | FileCheck %s --check-prefixes=X86,X86-POPCNT
5 … < %s -mtriple=x86_64-unknown-unknown -mattr=+popcnt | FileCheck %s --check-prefixes=X64,X64-POPCNT
60 ; X86-POPCNT-LABEL: parity_16:
61 ; X86-POPCNT: # %bb.0:
62 ; X86-POPCNT-NEXT: movzwl {{[0-9]+}}(%esp), %eax
63 ; X86-POPCNT-NEXT: popcntl %eax, %eax
64 ; X86-POPCNT-NEXT: andl $1, %eax
65 ; X86-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
66 ; X86-POPCNT-NEXT: retl
68 ; X64-POPCNT-LABEL: parity_16:
69 ; X64-POPCNT: # %bb.0:
70 ; X64-POPCNT-NEXT: movzwl %di, %eax
71 ; X64-POPCNT-NEXT: popcntl %eax, %eax
72 ; X64-POPCNT-NEXT: andl $1, %eax
73 ; X64-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
74 ; X64-POPCNT-NEXT: retq
100 ; X86-POPCNT-LABEL: parity_16_load:
101 ; X86-POPCNT: # %bb.0:
102 ; X86-POPCNT-NEXT: movl {{[0-9]+}}(%esp), %eax
103 ; X86-POPCNT-NEXT: movzwl (%eax), %eax
104 ; X86-POPCNT-NEXT: popcntl %eax, %eax
105 ; X86-POPCNT-NEXT: andl $1, %eax
106 ; X86-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
107 ; X86-POPCNT-NEXT: retl
109 ; X64-POPCNT-LABEL: parity_16_load:
110 ; X64-POPCNT: # %bb.0:
111 ; X64-POPCNT-NEXT: movzwl (%rdi), %eax
112 ; X64-POPCNT-NEXT: popcntl %eax, %eax
113 ; X64-POPCNT-NEXT: andl $1, %eax
114 ; X64-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
115 ; X64-POPCNT-NEXT: retq
149 ; X86-POPCNT-LABEL: parity_17:
150 ; X86-POPCNT: # %bb.0:
151 ; X86-POPCNT-NEXT: movl $131071, %eax # imm = 0x1FFFF
152 ; X86-POPCNT-NEXT: andl {{[0-9]+}}(%esp), %eax
153 ; X86-POPCNT-NEXT: popcntl %eax, %eax
154 ; X86-POPCNT-NEXT: andl $1, %eax
155 ; X86-POPCNT-NEXT: retl
157 ; X64-POPCNT-LABEL: parity_17:
158 ; X64-POPCNT: # %bb.0:
159 ; X64-POPCNT-NEXT: andl $131071, %edi # imm = 0x1FFFF
160 ; X64-POPCNT-NEXT: popcntl %edi, %eax
161 ; X64-POPCNT-NEXT: andl $1, %eax
162 ; X64-POPCNT-NEXT: retq
190 ; X86-POPCNT-LABEL: parity_32:
191 ; X86-POPCNT: # %bb.0:
192 ; X86-POPCNT-NEXT: popcntl {{[0-9]+}}(%esp), %eax
193 ; X86-POPCNT-NEXT: andl $1, %eax
194 ; X86-POPCNT-NEXT: retl
196 ; X64-POPCNT-LABEL: parity_32:
197 ; X64-POPCNT: # %bb.0:
198 ; X64-POPCNT-NEXT: popcntl %edi, %eax
199 ; X64-POPCNT-NEXT: andl $1, %eax
200 ; X64-POPCNT-NEXT: retq
233 ; X86-POPCNT-LABEL: parity_64:
234 ; X86-POPCNT: # %bb.0:
235 ; X86-POPCNT-NEXT: movl {{[0-9]+}}(%esp), %eax
236 ; X86-POPCNT-NEXT: xorl {{[0-9]+}}(%esp), %eax
237 ; X86-POPCNT-NEXT: popcntl %eax, %eax
238 ; X86-POPCNT-NEXT: andl $1, %eax
239 ; X86-POPCNT-NEXT: xorl %edx, %edx
240 ; X86-POPCNT-NEXT: retl
242 ; X64-POPCNT-LABEL: parity_64:
243 ; X64-POPCNT: # %bb.0:
244 ; X64-POPCNT-NEXT: popcntq %rdi, %rax
245 ; X64-POPCNT-NEXT: andl $1, %eax
246 ; X64-POPCNT-NEXT: retq
278 ; X86-POPCNT-LABEL: parity_64_trunc:
279 ; X86-POPCNT: # %bb.0:
280 ; X86-POPCNT-NEXT: movl {{[0-9]+}}(%esp), %eax
281 ; X86-POPCNT-NEXT: xorl {{[0-9]+}}(%esp), %eax
282 ; X86-POPCNT-NEXT: popcntl %eax, %eax
283 ; X86-POPCNT-NEXT: andl $1, %eax
284 ; X86-POPCNT-NEXT: retl
286 ; X64-POPCNT-LABEL: parity_64_trunc:
287 ; X64-POPCNT: # %bb.0:
288 ; X64-POPCNT-NEXT: popcntq %rdi, %rax
289 ; X64-POPCNT-NEXT: andl $1, %eax
290 ; X64-POPCNT-NEXT: # kill: def $eax killed $eax killed $rax
291 ; X64-POPCNT-NEXT: retq
318 ; X86-POPCNT-LABEL: parity_32_trunc:
319 ; X86-POPCNT: # %bb.0:
320 ; X86-POPCNT-NEXT: popcntl {{[0-9]+}}(%esp), %eax
321 ; X86-POPCNT-NEXT: andl $1, %eax
322 ; X86-POPCNT-NEXT: # kill: def $al killed $al killed $eax
323 ; X86-POPCNT-NEXT: retl
325 ; X64-POPCNT-LABEL: parity_32_trunc:
326 ; X64-POPCNT: # %bb.0:
327 ; X64-POPCNT-NEXT: popcntl %edi, %eax
328 ; X64-POPCNT-NEXT: andl $1, %eax
329 ; X64-POPCNT-NEXT: # kill: def $al killed $al killed $eax
330 ; X64-POPCNT-NEXT: retq
425 ; X86-POPCNT-LABEL: parity_16_shift:
426 ; X86-POPCNT: # %bb.0:
427 ; X86-POPCNT-NEXT: movzwl {{[0-9]+}}(%esp), %eax
428 ; X86-POPCNT-NEXT: popcntl %eax, %eax
429 ; X86-POPCNT-NEXT: andl $1, %eax
430 ; X86-POPCNT-NEXT: addl %eax, %eax
431 ; X86-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
432 ; X86-POPCNT-NEXT: retl
434 ; X64-POPCNT-LABEL: parity_16_shift:
435 ; X64-POPCNT: # %bb.0:
436 ; X64-POPCNT-NEXT: movzwl %di, %eax
437 ; X64-POPCNT-NEXT: popcntl %eax, %eax
438 ; X64-POPCNT-NEXT: andl $1, %eax
439 ; X64-POPCNT-NEXT: addl %eax, %eax
440 ; X64-POPCNT-NEXT: # kill: def $ax killed $ax killed $eax
441 ; X64-POPCNT-NEXT: retq
532 ; X86-POPCNT-LABEL: parity_32_shift:
533 ; X86-POPCNT: # %bb.0:
534 ; X86-POPCNT-NEXT: popcntl {{[0-9]+}}(%esp), %eax
535 ; X86-POPCNT-NEXT: andl $1, %eax
536 ; X86-POPCNT-NEXT: addl %eax, %eax
537 ; X86-POPCNT-NEXT: retl
539 ; X64-POPCNT-LABEL: parity_32_shift:
540 ; X64-POPCNT: # %bb.0:
541 ; X64-POPCNT-NEXT: popcntl %edi, %eax
542 ; X64-POPCNT-NEXT: andl $1, %eax
543 ; X64-POPCNT-NEXT: addl %eax, %eax
544 ; X64-POPCNT-NEXT: retq
643 ; X86-POPCNT-LABEL: parity_64_shift:
644 ; X86-POPCNT: # %bb.0:
645 ; X86-POPCNT-NEXT: movl {{[0-9]+}}(%esp), %eax
646 ; X86-POPCNT-NEXT: xorl {{[0-9]+}}(%esp), %eax
647 ; X86-POPCNT-NEXT: popcntl %eax, %eax
648 ; X86-POPCNT-NEXT: andl $1, %eax
649 ; X86-POPCNT-NEXT: addl %eax, %eax
650 ; X86-POPCNT-NEXT: xorl %edx, %edx
651 ; X86-POPCNT-NEXT: retl
653 ; X64-POPCNT-LABEL: parity_64_shift:
654 ; X64-POPCNT: # %bb.0:
655 ; X64-POPCNT-NEXT: popcntq %rdi, %rax
656 ; X64-POPCNT-NEXT: andl $1, %eax
657 ; X64-POPCNT-NEXT: addq %rax, %rax
658 ; X64-POPCNT-NEXT: retq