/* * Copyright (C) 2004 Atmel Norway. */ #define s1 r12 #define s2 r11 #define len r10 .text .global memcmp .type memcmp, @function .align 1 memcmp: sub len, 4 brlt .Lless_than_4 1: ld.w r8, s1++ ld.w r9, s2++ cp.w r8, r9 brne .Lfound_word sub len, 4 brge 1b .Lless_than_4: sub len, -4 reteq 0 1: ld.ub r8, s1++ ld.ub r9, s2++ sub r8, r9 retne r8 sub len, 1 brgt 1b retal 0 .Lfound_word: psub.b r9, r8, r9 bfextu r8, r9, 24, 8 retne r8 bfextu r8, r9, 16, 8 retne r8 bfextu r8, r9, 8, 8 retne r8 retal r9 .size memcmp, . - memcmp .weak bcmp bcmp = memcmp