On Wed, Jun 06, 2018 at 12:19:52PM -0500, Michael Collison wrote: > This is a respin of a AArch64 patch that adds support for builtin arithmetic > overflow operations. This update separates the patch into multiple pieces and > addresses comments made by Richard Earnshaw here: > > https://gcc.gnu.org/ml/gcc-patches/2017-07/msg00249.html > > Original patch and motivation for patch here: > > https://gcc.gnu.org/ml/gcc-patches/2017-05/msg01512.html > > This patch contains new patterns for subv<mode> overflow patterns.
> > +(define_expand "subv<mode>4" > + [(match_operand:GPI 0 "register_operand") > + (match_operand:GPI 1 "aarch64_reg_or_zero") > + (match_operand:GPI 2 "aarch64_reg_or_zero") > + (match_operand 3 "")] > + As in the previous patch I'd prefer to have the predicate showing this needs a label, even if it is not used for validation. Likewise on the variable names. Otherwise, this is OK, but aghain I'd appreciate more eyes on the patterns. Thanks, James > > Bootstrapped and tested on aarch64-linux-gnu. Okay for trunk? > > 2018-05-31 Michael Collison <michael.colli...@arm.com> > Richard Henderson <r...@redhat.com> > > * config/aarch64/aarch64.md (subv<GPI>4, usubv<GPI>4): New patterns. > (subti): Handle op1 zero. > (subvti4, usub4ti4): New. > (*sub<GPI>3_compare1_imm): New. > (sub<GPI>3_carryinCV): New. > (*sub<GPI>3_carryinCV_z1_z2, *sub<GPI>3_carryinCV_z1): New. > (*sub<GPI>3_carryinCV_z2, *sub<GPI>3_carryinCV): New. >