This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/54016] New: tree loop optimizer: no "branch on count" on s390 anymore since revision 185913
- From: "krebbel at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 18 Jul 2012 14:18:56 +0000
- Subject: [Bug tree-optimization/54016] New: tree loop optimizer: no "branch on count" on s390 anymore since revision 185913
- Auto-submitted: auto-generated
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54016
Bug #: 54016
Summary: tree loop optimizer: no "branch on count" on s390
anymore since revision 185913
Classification: Unclassified
Product: gcc
Version: 4.8.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: tree-optimization
AssignedTo: unassigned@gcc.gnu.org
ReportedBy: krebbel@gcc.gnu.org
#include <string.h>
void *
foo (void *dest, const void *src)
{
return memcpy (dest, src, 50000);
}
r185913: gcc -O3 -march=z10 -S:
foo:
.LFB12:
.cfi_startproc
lghi %r4,195
lgr %r1,%r2
.L2:
pfd 1,768(%r3)
pfd 2,768(%r1)
aghi %r4,-1
mvc 0(256,%r1),0(%r3)
la %r1,256(%r1)
la %r3,256(%r3)
jne .L2
mvc 0(80,%r1),0(%r3)
br %r14
With previous GCCs this used to be:
foo:
.LFB12:
.cfi_startproc
lghi %r4,195
lgr %r1,%r2
.L2:
pfd 1,768(%r3)
pfd 2,768(%r1)
mvc 0(256,%r1),0(%r3)
la %r1,256(%r1)
la %r3,256(%r3)
brctg %r4,.L2
mvc 0(80,%r1),0(%r3)
br %r14