r244097 - in /trunk/gcc: ChangeLog config/s390/...
krebbel@gcc.gnu.org
krebbel@gcc.gnu.org
Thu Jan 5 10:00:00 GMT 2017
Author: krebbel
Date: Thu Jan 5 10:00:34 2017
New Revision: 244097
URL: https://gcc.gnu.org/viewcvs?rev=244097&root=gcc&view=rev
Log:
S/390: Unroll mvc/xc loop for memset with small constant
lengths.
When expanding a memset we emit a loop of MVCs/XCs instructions dealing
with 256 byte blocks. This loop used to get unrolled with older GCCs
when using constant length operands. GCC lost this ability probably
when more of the loop unrolling stuff has been moved to tree level.
With this patch the unrolling is done manually when emitting the RTL
insns.
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* gcc.target/s390/memset-1.c: New test.
gcc/ChangeLog:
2017-01-05 Andreas Krebbel <krebbel@linux.vnet.ibm.com>
* config/s390/s390.c (s390_expand_setmem): Unroll the loop for
small constant length operands.
Added:
trunk/gcc/testsuite/gcc.target/s390/memset-1.c
Modified:
trunk/gcc/ChangeLog
trunk/gcc/config/s390/s390.c
More information about the Gcc-cvs
mailing list