memcmp_32.S 332 B

123456789101112131415161718192021222324252627282930
  1. .text
  2. .align 4
  3. .global __memcmp, memcmp
  4. __memcmp:
  5. memcmp:
  6. cmp %o2, 0
  7. ble L3
  8. mov 0, %g3
  9. L5:
  10. ldub [%o0], %g2
  11. ldub [%o1], %g3
  12. sub %g2, %g3, %g2
  13. mov %g2, %g3
  14. sll %g2, 24, %g2
  15. cmp %g2, 0
  16. bne L3
  17. add %o0, 1, %o0
  18. add %o2, -1, %o2
  19. cmp %o2, 0
  20. bg L5
  21. add %o1, 1, %o1
  22. L3:
  23. sll %g3, 24, %o0
  24. sra %o0, 24, %o0
  25. retl
  26. nop