On 26/03/13 10:17, Marcus Shawcroft wrote:
On 26/03/13 10:06, Hurugalawadi, Naveen wrote:
the second "set" in each pattern should have the "=r,rk" constraint
rather than just "=r,r".
If the destination operand is stack register, assembler generates error
as follows:-
Error: operand 1 should be an integer register -- `ands sp,x0,x1'
The ands instruction does not support sp in any of the operand as per
the assembler.
adds and subs instruction can use SP as the first operand.
adds x2, sp, 1 -> No Assembler error
subs x3, sp, #1 -> No Assembler error
adds x2, sp, x1 -> No Assembler error
subs x3, sp, x1 -> No Assembler error
adds x3, sp, x1, lsl 3 -> No Assembler error
subs x3, sp, x1, lsl 3 -> No Assembler error
Hence, their implementations are modified to support stack pointer as
the first operand.
Umm, I think Ian meant 'K' rather than 'k', these patterns should be
able to deal with constants in the 2nd operand. The SP is irrelevant here.
/M
Hi,
Ignore my last comment. This patch now has two changes in it, the
original 'and' patch with test case and the modification to add/sub
patterns with test cases. Can we split them into two different patches
please. Just and in one, add/sub in the other.
Thanks
/Marcus