diff -raupN gcc/config/avr/avr.md gcc/config/avr/avr.md --- gcc/config/avr/avr.md 2011-07-08 10:58:56.000000000 +0530 +++ gcc/config/avr/avr.md 2011-07-08 12:04:01.000000000 +0530 @@ -1079,8 +1079,8 @@ (set_attr "cc" "clobber")]) (define_expand "mulhisi3" - [(set (reg:HI 18) (match_operand:SI 1 "register_operand" "")) - (set (reg:HI 20) (match_operand:SI 2 "register_operand" "")) + [(set (reg:HI 18) (match_operand:HI 1 "register_operand" "")) + (set (reg:HI 20) (match_operand:HI 2 "register_operand" "")) (set (reg:SI 22) (mult:SI (any_extend:SI (reg:HI 18)) (any_extend:SI (reg:HI 20))))