https://gcc.gnu.org/bugzilla/show_bug.cgi?id=70130
Bug ID: 70130 Summary: h264ref fails with verification error starting with r231674 Product: gcc Version: 6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: pthaugen at gcc dot gnu.org CC: dje at gcc dot gnu.org, rguenth at gcc dot gnu.org, wschmidt at gcc dot gnu.org Target Milestone: --- Host: powerpc64*-unknown-linux-gnu Target: powerpc64*-unknown-linux-gnu Build: powerpc64*-unknown-linux-gnu Created attachment 37891 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=37891&action=edit .i containing loop CPU2006 benchmark 464.h264ref started failing with a verification error with r231674. I have been having a hard time tracking down the exact problem, but have isolated it down to a specific loop. The attached file is the .i from that specific loop from benchmark file block.c:intrapred_luma_16x16(). Compile cmd: gcc -c -m64 -O3 -mcpu=power7 -fsigned-char Loop_err.c Prior to r231674 the loop was not vectorized when specifying -mcpu=power7 and the benchmark ran fine. Note that the benchmark passes both before/after if built with -mcpu=power8. In this case the loop was already being vectorized prior to r231674, but with r231674 it looks like the loop is eliminated (peeled?). Also note that when I run the benchmark on one of our Power7 boxes, it passes if I link the .o files with the distro ld (2.20), but fails when using a newer version (2.22 or 2.25).