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.
From-SVN: r244097