Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- s32_t s32_add_sat2(s32_t a, s32_t b)
- {
- __asm__(
- "adds %Q0, %Q0, %Q1\n"
- "adcs %R0, %R0, %R1\n"
- "itt vs\n"
- "asrvs %Q0, %R0, #31\n"
- "eorvs %R0, %Q0, #0x80000000\n"
- : "+r" (a)
- : "r" (b)
- : "cc"
- );
- return a;
- }
- 00000044 <s32_add_sat2>:
- 44: b530 push {r4, r5, lr}
- 46: 4604 mov r4, r0
- 48: 460d mov r5, r1
- 4a: 18a4 adds r4, r4, r2
- 4c: 415d adcs r5, r3
- 4e: bf64 itt vs
- 50: 17ec asrvs r4, r5, #31
- 52: f084 4500 eorvs.w r5, r4, #2147483648 ; 0x80000000
- 56: 4620 mov r0, r4
- 58: 4629 mov r1, r5
- 5a: bd30 pop {r4, r5, pc}
Add Comment
Please, Sign In to add comment