Lines Matching +full:- +full:- +full:set +full:- +full:config
1 /* Copyright (c) 2010-2011, Linaro Limited
33 This memchr routine is optimised on a Cortex-A9 and should work on
36 match early in a large data set. */
64 // 2011-02-07 david.gilbert@linaro.org
66 // 2011-07-14 david.gilbert@linaro.org
68 // 2011-10-11 david.gilbert@linaro.org
69 // Import from cortex-strings bzr rev 63
82 // NOTE: This ifdef MUST match the one in memchr-stub.c
85 .arch armv8-r
87 .arch armv7-a
124 * For each 32-byte chunk we calculate a 32-bit syndrome value, with one bit per
125 * byte. Each bit is set if the relevant byte matched the requested character
168 /* Work with aligned 32-byte chunks */
174 * Input string is not 32-byte aligned. We calculate the syndrome
224 .cfi_adjust_cfa_offset -16
241 /* Clear the (-cntin) upper bits to avoid out-of-bounds matches. */
246 moveq src, #0 /* If no match, set src to 0 so the retval is 0. */
252 /* Compensate the last post-increment */
262 /* Set result to NULL if not found and return */
267 .size memchr, . - memchr
273 /* keep config inherited from -march=. */
275 .arch armv7e-m
283 #define CHARTSTMASK(c) 1<<(31-(c*8))
290 // ---------------------------------------------------------------------------
342 uadd8 r5, r5, r7 // Par add 0xff - sets GE bits for bytes!=0
343 sel r5, r3, r7 // bytes are 00 for none-00 bytes,
344 // or ff for 00 bytes - NOTE INVERSION
345 uadd8 r6, r6, r7 // Par add 0xff - sets GE bits for bytes!=0
346 sel r6, r5, r7 // chained....bytes are 00 for none-00 bytes
347 // or ff for 00 bytes - NOTE INVERSION
356 .cfi_adjust_cfa_offset -16
367 eor r3,r3,r1 // r3 = 0 if match - doesn't break flags from sub
387 // popping r4-r7 off the stack. .cfi_restore_state alone disregards
389 .cfi_restore_state // Standard post-prologue state
418 .cfi_adjust_cfa_offset -16