Lines Matching +full:- +full:16
2 * memchr - find a character in a memory zone
4 * Copyright (c) 2014-2022, Arm Limited.
5 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
10 * ARMv8-a, AArch64
41 * For each 32-byte chunk we calculate a 64-bit syndrome value, with two bits
57 movk wtmp2, #0x4010, lsl #16
58 dup vrepchr.16b, chrin
59 /* Work with aligned 32-byte chunks */
67 * Input string is not 32-byte aligned. We calculate the syndrome
72 ld1 {vdata1.16b, vdata2.16b}, [src], #32
75 cmeq vhas_chr1.16b, vdata1.16b, vrepchr.16b
76 cmeq vhas_chr2.16b, vdata2.16b, vrepchr.16b
77 and vhas_chr1.16b, vhas_chr1.16b, vrepmask.16b
78 and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b
79 addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */
80 addp vend.16b, vend.16b, vend.16b /* 128->64 */
92 ld1 {vdata1.16b, vdata2.16b}, [src], #32
94 cmeq vhas_chr1.16b, vdata1.16b, vrepchr.16b
95 cmeq vhas_chr2.16b, vdata2.16b, vrepchr.16b
99 orr vend.16b, vhas_chr1.16b, vhas_chr2.16b
107 and vhas_chr1.16b, vhas_chr1.16b, vrepmask.16b
108 and vhas_chr2.16b, vhas_chr2.16b, vrepmask.16b
109 addp vend.16b, vhas_chr1.16b, vhas_chr2.16b /* 256->128 */
110 addp vend.16b, vend.16b, vend.16b /* 128->64 */
116 /* Clear the (32 - ((cntrem + soff) % 32)) * 2 upper bits */
127 /* Compensate the last post-increment */