We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello,
I am having trouble understanding the goal of the second add.w instruction in the snippet below:
...add.w r1, r4, r5add.w r1, r1, r1, lsr #0x1fasr r1, r1, #1...
I imagine it may have to do with a potential overflow on the first addition. The asr indicates a signed division.So, assuming the following signed variables, it would be:
signed int r1r1 = r4 + r5r1 = r1 + (r1<0 ? 1: 0)r1 = r1 / 2
I do not understand the reason for that check. As anyone seen this kind of idiom before? What could it be used for?
Thank you.