On 02/04/2020 19:53, Richard Henderson via Gcc-patches wrote: > This is attacking case 3 of PR 94174. > > In v2, I unify the various subtract-with-borrow and add-with-carry > patterns that also output flags with unspecs. As suggested by > Richard Sandiford during review of v1. It does seem cleaner. >
Really? I didn't need to use any unspecs for the Arm version of this. R. > > r~ > > > Richard Henderson (11): > aarch64: Accept 0 as first argument to compares > aarch64: Accept zeros in add<GPI>3_carryin > aarch64: Provide expander for sub<GPI>3_compare1 > aarch64: Introduce aarch64_expand_addsubti > aarch64: Use UNSPEC_SBCS for subtract-with-borrow + output flags > aarch64: Use UNSPEC_ADCS for add-with-carry + output flags > aarch64: Remove CC_ADCmode > aarch64: Accept -1 as second argument to add<mode>3_carryin > aarch64: Adjust result of aarch64_gen_compare_reg > aarch64: Implement TImode comparisons > aarch64: Implement absti2 > > gcc/config/aarch64/aarch64-protos.h | 10 +- > gcc/config/aarch64/aarch64.c | 303 +++++---- > gcc/config/aarch64/aarch64-modes.def | 1 - > gcc/config/aarch64/aarch64-simd.md | 18 +- > gcc/config/aarch64/aarch64-speculation.cc | 5 +- > gcc/config/aarch64/aarch64.md | 762 ++++++++++------------ > gcc/config/aarch64/predicates.md | 15 +- > 7 files changed, 527 insertions(+), 587 deletions(-) >