Lines Matching +full:half +full:-
34 #define ALIGN_TEXT .p2align 4,0x90 /* 16-byte alignment, nop filled */
58 /* no special case matches -- prepare lookup table */
135 * 2--16: one pcmpistri per 16 bytes of input
136 * 17--32: two pcmpistri per 16 bytes of input
221 1: cmp $16, %edx # 16--32 bytes?
225 /* set is 2--16 bytes in size */
238 3: lea -16(%rax), %rax # go back to second half
260 /* match in first set half during head */
263 pcmpistri $0, %xmm0, %xmm3 # match in second set half?
264 cmp %ecx, %eax # before the first half match?
272 /* set is 17--32 bytes in size */
273 pcmpistri $0, %xmm0, %xmm2 # match in first set half?
275 pcmpistri $0, %xmm0, %xmm3 # match in second set half or end of string?
281 jb 4f # match in first set half?
283 jbe 1f # match in second set half or end of string?
287 jb 3f # match in first set half?
289 ja 0b # neither match in 2nd half nor string end?
291 /* match in second half or NUL */
292 lea -16(%rax), %rax # go back to second half
303 /* match in first half */
304 3: sub $16, %rax # go back to second half
307 pcmpistri $0, %xmm0, %xmm3 # match in second set half?
308 cmp %ecx, %edx # before the first half match?
331 mov $256-64, %edx
396 .section .note.GNU-stack,"",%progbits