Lines Matching +full:- +full:16
2 * strchrnul - find a character or nul in a string
4 * Copyright (c) 2014-2022, Arm Limited.
5 * SPDX-License-Identifier: MIT OR Apache-2.0 WITH LLVM-exception
10 * ARMv8-a, AArch64
39 For each 32-byte hunk we calculate a 64-bit syndrome value, with
41 and little-endian systems). For each tuple, bit 0 is set iff
53 movk wtmp2, #0x4010, lsl #16
54 dup vrepchr.16b, chrin
55 bic src, srcin, #31 /* Work with aligned 32-byte hunks. */
60 /* Input string is not 32-byte aligned. Rather than forcing
64 ld1 {vdata1.16b, vdata2.16b}, [src], #32
66 cmeq vhas_chr1.16b, vdata1.16b, vrepchr.16b
67 cmeq vhas_chr2.16b, vdata2.16b, vrepchr.16b
68 cmhs vhas_nul1.16b, vhas_chr1.16b, vdata1.16b
69 cmhs vhas_nul2.16b, vhas_chr2.16b, vdata2.16b
70 and vhas_chr1.16b, vhas_nul1.16b, vrepmask.16b
71 and vhas_chr2.16b, vhas_nul2.16b, vrepmask.16b
73 addp vend1.16b, vhas_chr1.16b, vhas_chr2.16b // 256->128
75 addp vend1.16b, vend1.16b, vend1.16b // 128->64
84 ld1 {vdata1.16b, vdata2.16b}, [src], #32
85 cmeq vhas_chr1.16b, vdata1.16b, vrepchr.16b
86 cmeq vhas_chr2.16b, vdata2.16b, vrepchr.16b
87 cmhs vhas_nul1.16b, vhas_chr1.16b, vdata1.16b
88 cmhs vhas_nul2.16b, vhas_chr2.16b, vdata2.16b
89 orr vend1.16b, vhas_nul1.16b, vhas_nul2.16b
90 umaxp vend1.16b, vend1.16b, vend1.16b
96 and vhas_chr1.16b, vhas_nul1.16b, vrepmask.16b
97 and vhas_chr2.16b, vhas_nul2.16b, vrepmask.16b
98 addp vend1.16b, vhas_chr1.16b, vhas_chr2.16b // 256->128
99 addp vend1.16b, vend1.16b, vend1.16b // 128->64
105 /* Re-bias source. */