Bug 989554 - regressions in gcc upstream suite on x86_64
regressions in gcc upstream suite on x86_64
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gcc (Show other bugs)
x86_64 Unspecified
unspecified Severity unspecified
: rc
: ---
Assigned To: Jakub Jelinek
Depends On:
  Show dependency treegraph
Reported: 2013-07-29 10:16 EDT by Dagmar Prokopová
Modified: 2015-03-31 14:46 EDT (History)
3 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2015-03-31 14:46:57 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

  None (edit)
Description Dagmar Prokopová 2013-07-29 10:16:44 EDT
Description of problem:
While comparing the results of upstream-suite from gcc-4.8.1-2.el7 to results from gcc-4.4.7-3.el6 I found the following regressions:

FAIL: gcc.dg/guality/pr43051-1.c  -O3 -fomit-frame-pointer -funroll-loops  line 39 c == &a[0]

FAIL: gcc.dg/guality/pr43051-1.c  -O3 -fomit-frame-pointer -funroll-all-loops -finline == &a[0]

In both cases the failure is probably caused by 'a' being optimized out.

Breakpoint 1 at 0x400699: file ./gcc.dg/guality/pr43051-1.c, line 39.
Breakpoint 1, bar (c=<optimized out>, v=1, e=0x601070 <a+16>)
    at ./gcc.dg/guality/pr43051-1.c:39
39	      foo ("c", (__UINTPTR_TYPE__) c, 3);	/* { dg-final { gdb-test 39 "c" "\&a\[0\]" } } */
$1 = <optimized out>
$2 = (struct S *) 0x601060 <a>
<optimized out> != (struct S *) 0x601060 <a>

Version-Release number of selected component (if applicable):

How reproducible:

Steps to Reproduce:
run the upstream suite on rhel7 and rhel6 and compare the results

Actual results:
regressions mentioned above

Expected results:
no regressions

Additional info:
Comment 2 Marek Polacek 2013-08-02 07:10:53 EDT
Reproduced even with trunk.
This is caused by http://gcc.gnu.org/r193281 (one of the fixes for PR54693), http://gcc.gnu.org/ml/gcc-patches/2012-11/msg00504.html

The $1 = <value optimized out> is caused by loop header copying, thus -fno-tree-ch makes it back into $1 = (struct S *) 0x600aa0.
Comment 3 Jakub Jelinek 2013-08-28 08:14:31 EDT
Very low priority.

Note You need to log in before you can comment on or make changes to this bug.