Guest User

Untitled

a guest
Feb 22nd, 2018
64
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.64 KB | None | 0 0
  1. s32_t s32_add_sat2(s32_t a, s32_t b)
  2. {
  3. __asm__(
  4. "adds %Q0, %Q0, %Q1\n"
  5. "adcs %R0, %R0, %R1\n"
  6. "itt vs\n"
  7. "asrvs %Q0, %R0, #31\n"
  8. "eorvs %R0, %Q0, #0x80000000\n"
  9. : "+r" (a)
  10. : "r" (b)
  11. : "cc"
  12. );
  13. return a;
  14. }
  15.  
  16. 00000044 <s32_add_sat2>:
  17. 44: b530 push {r4, r5, lr}
  18. 46: 4604 mov r4, r0
  19. 48: 460d mov r5, r1
  20. 4a: 18a4 adds r4, r4, r2
  21. 4c: 415d adcs r5, r3
  22. 4e: bf64 itt vs
  23. 50: 17ec asrvs r4, r5, #31
  24. 52: f084 4500 eorvs.w r5, r4, #2147483648 ; 0x80000000
  25. 56: 4620 mov r0, r4
  26. 58: 4629 mov r1, r5
  27. 5a: bd30 pop {r4, r5, pc}
Add Comment
Please, Sign In to add comment