On 02/07/13 16:13, Kyrylo Tkachov wrote:
Hi Richard,
Thanks for the review.

   (define_insn_and_split "*arm_cmpdi_unsigned"
     [(set (reg:CC_CZ CC_REGNUM)
-       (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "r")
-                      (match_operand:DI 1 "arm_di_operand"   "rDi")))]
+       (compare:CC_CZ (match_operand:DI 0 "s_register_operand" "l,r,r")
+                      (match_operand:DI 1 "arm_di_operand"
        "Py,r,rDi")))]


'r' constraint for operand 1 on third alternative is now redundant.

The arch attribute for this pattern is set thusly:
    (set_attr "arch" "t2,t2,*")


Ah! missed that subtlety.

That is, the first two alternatives are not enabled for arm state,
necessitating the 'r' constraint on the third one. If we enable the second
alternative for arm as well (set_attr "arch" "t2,*,*") this will work, but the
way I have it in this patch enables us to more accurately specify the length
for Thumb mode.

OK for that part then.

R.


OK with the above issues fixed.

Thanks,
Kyrill


R.




Reply via email to