> On Aug 12, 2014, at 7:40 AM, Alan Lawrence <alan.lawre...@arm.com> wrote: > > (It is no more expensive.)
Yes on some processors it could be. Thanks, Andrew > > gcc/ChangeLog: > > * config/aarch64/aarch64.md (subdi3, adddi3_aarch64): Don't penalize > SIMD reg variant. > diff --git a/gcc/config/aarch64/aarch64.md b/gcc/config/aarch64/aarch64.md > index > f8eb305140e7b0aed006b33f1724a90939e48316..0a8ca4bcc7941f912c8d42200b33206d4188fa48 > 100644 --- a/gcc/config/aarch64/aarch64.md +++ > b/gcc/config/aarch64/aarch64.md @@ -1188,10 +1188,10 @@ (define_insn > "*adddi3_aarch64" [(set - (match_operand:DI 0 "register_operand" > "=rk,rk,rk,!w") + (match_operand:DI 0 "register_operand" "=rk,rk,rk,w") > (plus:DI - (match_operand:DI 1 "register_operand" "%rk,rk,rk,!w") - > (match_operand:DI 2 "aarch64_plus_operand" "I,r,J,!w")))] + (match_operand:DI > 1 "register_operand" "%rk,rk,rk,w") + (match_operand:DI 2 > "aarch64_plus_operand" "I,r,J,w")))] "" "@ add\\t%x0, %x1, %2 @@ -1662,9 > +1662,9 @@ ) (define_insn "subdi3" - [(set (match_operand:DI 0 > "register_operand" "=rk,!w") - (minus:DI (match_operand:DI 1 > "register_operand" "r,!w") - (match_operand:DI 2 "register_operand" > "r,!w")))] + [(set (match_operand:DI 0 "register_operand" "=rk,w") + > (minus:DI (match_operand:DI 1 "register_operand" "r,w") + > (match_operand:DI 2 "register_operand" "r,w")))] "" "@ sub\\t%x0, %x1, %x2