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: unassig...@gcc.gnu.org ReportedBy: kreb...@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