strncmp-power.s 308 B

1234567891011121314151617181920212223242526272829
  1. TEXT strncmp(SB), $0
  2. #define BDNZ BC 16,0,
  3. MOVW s2+4(FP), R4
  4. MOVW n+8(FP), R7
  5. CMP R7, $0
  6. MOVW R7, CTR
  7. BLE eq
  8. SUB $1, R3
  9. SUB $1, R4
  10. l1:
  11. MOVBZU 1(R3), R5
  12. MOVBZU 1(R4), R6
  13. CMP R5, R6
  14. BNE ne
  15. CMP R5, $0
  16. BEQ eq
  17. BDNZ l1
  18. eq:
  19. MOVW $0, R3
  20. RETURN
  21. ne:
  22. MOVW $1, R3
  23. BGT ret
  24. MOVW $-1, R3
  25. ret:
  26. RETURN