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.