On Tue, 22 Aug 2017, Tamar Christina wrote: > Sorry, forgot to add some maintainers :) > ________________________________________ > From: [email protected] <[email protected]> on behalf > of Tamar Christina <[email protected]> > Sent: Tuesday, August 22, 2017 5:27:23 PM > To: [email protected] > Cc: nd; [email protected] > Subject: [PATCH][GCC][mid-end] Fix single use requirement for xorsign (x * > copysign (1, y)) > > Hi All, > > This patch fixes the placement of the single-use requirement for xorsign. > > on `x = a * copysign (1, b)` the intention was that `copysign (1, b)` be > single use, and not `x`. Requiring `x` to be single use blocks transformation > where we do want it to occur. > > Regtested on aarch64-none-linux-gnu and no regressions > (only target currently supporting this). > > Ok for trunk?
Ok with re-ordering the checks -- has_single_use is cheaper than is_copysign_call_with_1. Thanks, Richard. > gcc/ > 2017-08-22 Tamar Christina <[email protected]> > > PR middle-end/19706 > * tree-ssa-math-opts.c (convert_expand_mult_copysign): > Fix single-use check. > > -- > > -- Richard Biener <[email protected]> SUSE LINUX GmbH, GF: Felix Imendoerffer, Jane Smithard, Graham Norton, HRB 21284 (AG Nuernberg)
