pthread_spin_trylock.S 245 B

12345678910111213141516
  1. #define _ERRNO_H 1
  2. #include <bits/errno.h>
  3. #include <sysdep.h>
  4. .text
  5. ENTRY (pthread_spin_trylock)
  6. mov a2, a0
  7. movi a0, 0
  8. movi a1, 1
  9. trap 2 // trap 2 use to cmpxchg
  10. cmpnei a0, 0
  11. bf 1f
  12. movi a0, EBUSY
  13. 1:
  14. jmp r15
  15. END (pthread_spin_trylock)