On 10/16/2012 04:30 AM, Vladimir Makarov wrote: > In insn: > > (define_insn_and_split "*lea_general_1" > [(set (match_operand 0 "register_operand" "=r") > (plus (plus (match_operand 1 "index_register_operand" "l") > (match_operand 2 "register_operand" "r")) > (match_operand 3 "immediate_operand" "i")))] > > one operand is (const_int 1). Its mode is VOIDmode. recog_data mode is > VOIDmode. The patch takes right mode from PLUS containing it.
Shouldn't this use a mode_iterator to put the right mode on the operand? Bernd