ref: 8517e0bdb2100de0b5736b3ee8c3996adad9936c
dir: /sys/src/libc/386/memcmp.s/
TEXT memcmp(SB),$0 MOVL n+8(FP), BX CMPL BX, $0 JEQ none MOVL p1+0(FP), DI MOVL p2+4(FP), SI CLD /* * first by longs */ MOVL BX, CX SHRL $2, CX REP; CMPSL JNE found /* * then by bytes */ ANDL $3, BX MOVL BX, CX REP; CMPSB JNE found1 none: MOVL $0, AX RET /* * if long found, * back up and look by bytes */ found: MOVL $4, CX SUBL CX, DI SUBL CX, SI REP; CMPSB found1: JLS lt MOVL $-1, AX RET lt: MOVL $1, AX RET