ref: 4b787e3205592f1fb4ff933dd6288f7c0d77f616
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