On Fri, Nov 17, 2017 at 06:12:49PM +0000, Jeff Law wrote: > On 11/17/2017 08:15 AM, Richard Sandiford wrote: > > This patch adds a hook to control whether we avoid executing masked > > (predicated) stores when the mask is all false. We don't want to do > > that by default for SVE. > > > > Tested on aarch64-linux-gnu (with and without SVE), x86_64-linux-gnu > > and powerpc64le-linux-gnu. OK to install? > > > > Richard > > > > > > 2017-11-17 Richard Sandiford <richard.sandif...@linaro.org> > > Alan Hayward <alan.hayw...@arm.com> > > David Sherwood <david.sherw...@arm.com> > > > > gcc/ > > * target.def (empty_mask_is_expensive): New hook. > > * doc/tm.texi.in (TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE): New hook. > > * doc/tm.texi: Regenerate. > > * targhooks.h (default_empty_mask_is_expensive): Declare. > > * targhooks.c (default_empty_mask_is_expensive): New function. > > * tree-vectorizer.c (vectorize_loops): Only call optimize_mask_stores > > if the target says that empty masks are expensive. > > * config/aarch64/aarch64.c (aarch64_empty_mask_is_expensive): > > New function. > > (TARGET_VECTORIZE_EMPTY_MASK_IS_EXPENSIVE): Redefine. > OK. > jeff
OK for the AArch64 parts. James