Re: [PATCH][Aarch64] v2: Arithmetic overflow subv patterns [Patch 3/4]
On Wed, Jun 13, 2018 at 03:06:05AM -0500, Michael Collison wrote: > Updated previous patch: > > https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00508.html > > With coding style feedback from Richard Sandiford: (that also apply to this > patch) > > https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00508.html > > Bootstrapped and tested on aarch64-linux-gnu. Okay for trunk? OK. Thanks, James > > 2018-05-31 Michael Collison > Richard Henderson > > * config/aarch64/aarch64.md (subv4, usubv4): New patterns. > (subti): Handle op1 zero. > (subvti4, usub4ti4): New. > (*sub3_compare1_imm): New. > (sub3_carryinCV): New. > (*sub3_carryinCV_z1_z2, *sub3_carryinCV_z1): New. > (*sub3_carryinCV_z2, *sub3_carryinCV): New.
RE: [PATCH][Aarch64] v2: Arithmetic overflow subv patterns [Patch 3/4]
Updated previous patch: https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00508.html With coding style feedback from Richard Sandiford: (that also apply to this patch) https://gcc.gnu.org/ml/gcc-patches/2018-06/msg00508.html Bootstrapped and tested on aarch64-linux-gnu. Okay for trunk? 2018-05-31 Michael Collison Richard Henderson * config/aarch64/aarch64.md (subv4, usubv4): New patterns. (subti): Handle op1 zero. (subvti4, usub4ti4): New. (*sub3_compare1_imm): New. (sub3_carryinCV): New. (*sub3_carryinCV_z1_z2, *sub3_carryinCV_z1): New. (*sub3_carryinCV_z2, *sub3_carryinCV): New. gnutools-6308-pt3.patch Description: gnutools-6308-pt3.patch
RE: [PATCH][Aarch64] v2: Arithmetic overflow subv patterns [Patch 3/4]
All requested changes made: - label_ref added as operand 3 - more descriptive variable names used Okay for trunk? -Original Message- From: James Greenhalgh Sent: Thursday, June 7, 2018 5:30 PM To: Michael Collison Cc: GCC Patches ; nd Subject: Re: [PATCH][Aarch64] v2: Arithmetic overflow subv patterns [Patch 3/4] 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 overflow patterns. > > +(define_expand "subv4" > + [(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 > Richard Henderson > > * config/aarch64/aarch64.md (subv4, usubv4): New patterns. > (subti): Handle op1 zero. > (subvti4, usub4ti4): New. > (*sub3_compare1_imm): New. > (sub3_carryinCV): New. > (*sub3_carryinCV_z1_z2, *sub3_carryinCV_z1): New. > (*sub3_carryinCV_z2, *sub3_carryinCV): New. >
Re: [PATCH][Aarch64] v2: Arithmetic overflow subv patterns [Patch 3/4]
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 overflow patterns. > > +(define_expand "subv4" > + [(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 > Richard Henderson > > * config/aarch64/aarch64.md (subv4, usubv4): New patterns. > (subti): Handle op1 zero. > (subvti4, usub4ti4): New. > (*sub3_compare1_imm): New. > (sub3_carryinCV): New. > (*sub3_carryinCV_z1_z2, *sub3_carryinCV_z1): New. > (*sub3_carryinCV_z2, *sub3_carryinCV): New. >