Hi! On Mon, Jun 25, 2018 at 10:41:32AM -0500, Aaron Sawdey wrote: > In gcc 8 I added support for unaligned vsx in the builtin expansion of > memset(x,0,y). Turns out that for memset of less than 32 bytes, this > doesn't really help much, and it also runs into an egregious load-hit- > store case in CPU2006 components gcc and hmmer. > > This patch reverts to the previous (gcc 7) behavior for memset of 16-31 > bytes, which is to use vsx stores only if the target is 16 byte > aligned. For 32 bytes or more, unaligned vsx stores will still be used. > Performance testing of the memset expansion shows that not much is > given up by using scalar stores for 16-31 bytes, and CPU2006 runs show > the performance regression is fixed. > > Regstrap passes on powerpc64le, ok for trunk and backport to 8?
Yes, okay for both. Thanks! Segher > 2018-06-25 Aaron Sawdey <acsaw...@linux.ibm.com> > > * config/rs6000/rs6000-string.c (expand_block_clear): Don't use > unaligned vsx for 16B memset.