Hi!

On Mon, Aug 31, 2020 at 11:46:07AM +0800, Kewen.Lin wrote:
> This patch is to backport the fix for PR92923 and its sequent fix for
> PR93136 to GCC-9 branch.  We found the builtin functions needlessly
> using VIEW_CONVERT_EXPRs on their operands can probably cause
> remarkable performance issue especailly when they are in the hotspot.
> One typical case is 
>   https://github.com/antonblanchard/crc32-vpmsum/blob/master/vec_crc32.c
> With this patch, the execution time can improve 47.81%.

:-)

> btw, one thing I'm not sure about the changelog, the original patch is
> based on the rs6000-call.c refactored codes, the changelog file entries 
> are not applied well for GCC9.  Do I need to put one revised changelog
> as well?  if so, where to put it and what's the concise writing format
> when just for different file names?  Thanks in advance!

You cannot, with the current changelog scripts, afaik.  You can write
a new changelog, or say it is backported, not both or a mix.  In the
good old days you could say what you did on a backport that would not
apply directly.

> -/* { dg-options "-mvsx -O2" } */
> +/* Disable ipa-icf to avoid compiler to generate tail call for some function,
> +   we can not get the expected assembly due the omitted function body. */
> +/* { dg-options "-mvsx -O2 -fno-ipa-icf" } */

Thanks for adding a comment!  Maybe just "Disable ipa-icf to prevent
tail calls."  (It is a pretty common problem in testcases; another
trick is to put  asm("");  at the end of a function).


Okay for backporting.  Thanks!


Segher

Reply via email to