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