memchr.s 425 B

123456789101112131415161718192021222324252627282930313233343536373839
  1. TEXT memchr(SB), $0
  2. MOVW R1, 0(FP)
  3. MOVW n+8(FP), R1
  4. MOVW s1+0(FP), R2
  5. MOVBU c+7(FP), R3
  6. ADDU R1, R2, R6
  7. AND $(~1), R1, R5
  8. ADDU R2, R5
  9. BEQ R2, R5, lt2
  10. l1:
  11. MOVBU 0(R2), R4
  12. MOVBU 1(R2), R7
  13. BEQ R3, R4, eq0
  14. ADDU $2, R2
  15. BEQ R3, R7, eq
  16. BNE R2, R5, l1
  17. lt2:
  18. BEQ R2, R6, zret
  19. l2:
  20. MOVBU (R2), R4
  21. ADDU $1, R2
  22. BEQ R3, R4, eq
  23. BNE R2, R6, l2
  24. zret:
  25. MOVW R0, R1
  26. RET
  27. eq0:
  28. MOVW R2, R1
  29. RET
  30. eq:
  31. SUBU $1,R2, R1
  32. RET