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

--- Comment #6 from H.J. Lu <hjl.tools at gmail dot com> 2011-07-25 16:15:31 
UTC ---
(In reply to comment #4)
> A shot-in-the-dark change:
> 
> (define_insn "*add<mode>_1"
>   [(set (match_operand:SWI48 0 "nonimmediate_operand" "=r,rm,r,r")
>     (plus:SWI48
>       (match_operand:SWI48 1 "nonimmediate_operand" "%0,0,r,r")
>       (match_operand:SWI48 2 "<add_operand>" "rme,re,0,le")))
>    (clobber (reg:CC FLAGS_REG))]
> 
> and
> 
> (define_insn "addsi_1_zext"
>   [(set (match_operand:DI 0 "register_operand" "=r,r,r")
>     (zero_extend:DI
>       (plus:SI (match_operand:SI 1 "nonimmediate_operand" "%0,r,r")
>            (match_operand:SI 2 "addsi_operand" "rme,0,le"))))
>    (clobber (reg:CC FLAGS_REG))]
> 
> The constraints of operand 2 now fully follow addsi_operand predicate.

It doesn't work.

Reply via email to