1 TEXT memcmp(SB),$0 2 3 MOVL n+16(FP), BX 4 CMPL BX, $0 5 JEQ none 6 MOVQ RARG, DI 7 MOVQ p2+8(FP), SI 8 CLD 9 MOVQ DI, CX 10 ORQ SI, CX 11 ANDL $3, CX 12 JNE c3 13/* 14 * first by longs 15 */ 16 17 MOVL BX, CX 18 SHRQ $2, CX 19 20 REP; CMPSL 21 JNE found 22 23/* 24 * then by bytes 25 */ 26 ANDL $3, BX 27c3: 28 MOVL BX, CX 29 REP; CMPSB 30 JNE found1 31 32none: 33 MOVQ $0, AX 34 RET 35 36/* 37 * if long found, 38 * back up and look by bytes 39 */ 40found: 41 MOVL $4, CX 42 SUBQ CX, DI 43 SUBQ CX, SI 44 REP; CMPSB 45 46found1: 47 JLS lt 48 MOVQ $-1, AX 49 RET 50lt: 51 MOVQ $1, AX 52 RET 53