On Fri, Aug 16, 2013 at 04:18:18PM -0500, Peter Bergner wrote:
> --- gcc/config/rs6000/dfp.md (revision 201779)
> +++ gcc/config/rs6000/dfp.md (working copy)
> @@ -132,11 +132,14 @@ (define_expand "negtd2"
> "")
>
> (define_insn "*negtd2_fpr"
> - [(set (match_operand:TD 0 "gpc_reg_operand" "=d")
> - (neg:TD (match_operand:TD 1 "gpc_reg_operand" "d")))]
> + [(set (match_operand:TD 0 "gpc_reg_operand" "=d,d")
> + (neg:TD (match_operand:TD 1 "gpc_reg_operand" "d,0")))]
I'm surprised if it works in this order, I'd expect that alternative 0
would match even for the same regno and that the second alternative wouldn't
be tried.
Jakub