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

Reply via email to