http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56441



--- Comment #7 from gnugcc at emblocks dot org 2013-02-26 09:05:36 UTC ---

I was looking completely wrong, the arm_addsi3 is acting wrong.



The "add%?\\t%0, %1, %2" for "=l,%0,Py"  is set at a length of 2.

(first entry in the list)



However the "ADD r6,r6, #65" is a thumb2 instruction which is 4 bytes and not

2.



An "ADDS r6,r6,#65" will go right because this is a thumb instruction of 2

bytes.



Same for the first "SUB" in the same list.



So I end up with a miscalculation of 2bytes. 



Perhaps it's better to make it conservative and always use length of 4.





I guess that this isn't the right way but I have put un-predicables in front of

the predicable counter parts with the right length of 4.

Reply via email to