public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
From: "hp at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org>
To: gcc-bugs@gcc.gnu.org
Subject: [Bug middle-end/45962] [4.6 Regression]: many c/c++ failures on cris-elf, in r165236:165242
Date: Tue, 19 Oct 2010 02:38:00 -0000	[thread overview]
Message-ID: <20101019023800.H9U-0w76HTvmE27Egko7DtBCwcVx5M_vzJIuP84Fcyo@z> (raw)
In-Reply-To: <bug-45962-4@http.gcc.gnu.org/bugzilla/>

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45962

--- Comment #15 from Hans-Peter Nilsson <hp at gcc dot gnu.org> 2010-10-19 02:37:49 UTC ---
(In reply to comment #14)
> I haven't yet figured out which function's stack-frame is borked / where
> exactly the saved value of r7 is clobbered. Tomorrow.

Ookay, so... With r165240+c165382 and simd-5.c and -O0, gcc feels it needs to
dynamically (allocate and) align the stack-location for the resulting vectors,
though the vector alignment is neither explicit nor mandatory.  No such dynamic
allocation at r165239.  When doing so, it feels it needs to save the
stack-pointer.  That's redundant; it's already saved when a frame-pointer is
needed. It so emits "move.d $sp,[$r8-8]" (i.e. (set (mem (plus
frame_pointer_rtx -8)) stack_pointer_rtx)).  Where it gets the -8 from, I don't
know, I'll look further. That insn just clobbers; it overwrites a saved
register that held an address, which at return to the function, is referenced
and causes the SEGV.

Code at the two revisions are identical for -O1 as well as for-O2; no dynamic
allocation or anything needed, so I guess the new dynamic alignment at -O0 is
not an issue that needs to be investigated per se.


Regarding the earlier "these are not regressions, dammit"-type comments, I see
I made a boo-boo when quoting which failures were regressions: the new FAILs
from gcc.dg/torture/stackalign (13 of them) snuck in.  (To bystanders, the
c165240 "floodgated" check_effective_target_automatic_stack_alignment, but it's
only used in g++.dg/torture/stackalign and gcc.dg/torture/stackalign, outside
of gcc.target/i386/stackalign).

Here's the list of the 62 true regressions (by definition of
contrib/regression/btest-gcc.sh) caused by r165240(+c165382) for cris-elf:

g++.sum tmpdir-g++.dg-struct-layout-1/t001
g++.sum tmpdir-g++.dg-struct-layout-1/t002
g++.sum tmpdir-g++.dg-struct-layout-1/t003
g++.sum tmpdir-g++.dg-struct-layout-1/t004
g++.sum tmpdir-g++.dg-struct-layout-1/t005
g++.sum tmpdir-g++.dg-struct-layout-1/t006
g++.sum tmpdir-g++.dg-struct-layout-1/t007
g++.sum tmpdir-g++.dg-struct-layout-1/t008
g++.sum tmpdir-g++.dg-struct-layout-1/t009
g++.sum tmpdir-g++.dg-struct-layout-1/t010
g++.sum tmpdir-g++.dg-struct-layout-1/t011
g++.sum tmpdir-g++.dg-struct-layout-1/t012
g++.sum tmpdir-g++.dg-struct-layout-1/t013
g++.sum tmpdir-g++.dg-struct-layout-1/t014
g++.sum tmpdir-g++.dg-struct-layout-1/t015
g++.sum tmpdir-g++.dg-struct-layout-1/t016
g++.sum tmpdir-g++.dg-struct-layout-1/t017
g++.sum tmpdir-g++.dg-struct-layout-1/t018
g++.sum tmpdir-g++.dg-struct-layout-1/t019
g++.sum tmpdir-g++.dg-struct-layout-1/t020
g++.sum tmpdir-g++.dg-struct-layout-1/t021
g++.sum tmpdir-g++.dg-struct-layout-1/t022
g++.sum tmpdir-g++.dg-struct-layout-1/t023
g++.sum tmpdir-g++.dg-struct-layout-1/t024
g++.sum tmpdir-g++.dg-struct-layout-1/t025
g++.sum tmpdir-g++.dg-struct-layout-1/t026
g++.sum tmpdir-g++.dg-struct-layout-1/t027
g++.sum tmpdir-g++.dg-struct-layout-1/t028
g++.sum tmpdir-g++.dg-struct-layout-1/t029
g++.sum tmpdir-g++.dg-struct-layout-1/t030
gcc.sum gcc.c-torture/execute/20060420-1.c
gcc.sum gcc.c-torture/execute/simd-5.c
gcc.sum gcc.dg/compat/vector-1
gcc.sum gcc.dg/compat/vector-2
gcc.sum tmpdir-gcc.dg-struct-layout-1/t001
gcc.sum tmpdir-gcc.dg-struct-layout-1/t002
gcc.sum tmpdir-gcc.dg-struct-layout-1/t003
gcc.sum tmpdir-gcc.dg-struct-layout-1/t004
gcc.sum tmpdir-gcc.dg-struct-layout-1/t005
gcc.sum tmpdir-gcc.dg-struct-layout-1/t006
gcc.sum tmpdir-gcc.dg-struct-layout-1/t007
gcc.sum tmpdir-gcc.dg-struct-layout-1/t008
gcc.sum tmpdir-gcc.dg-struct-layout-1/t009
gcc.sum tmpdir-gcc.dg-struct-layout-1/t010
gcc.sum tmpdir-gcc.dg-struct-layout-1/t011
gcc.sum tmpdir-gcc.dg-struct-layout-1/t012
gcc.sum tmpdir-gcc.dg-struct-layout-1/t013
gcc.sum tmpdir-gcc.dg-struct-layout-1/t014
gcc.sum tmpdir-gcc.dg-struct-layout-1/t015
gcc.sum tmpdir-gcc.dg-struct-layout-1/t016
gcc.sum tmpdir-gcc.dg-struct-layout-1/t017
gcc.sum tmpdir-gcc.dg-struct-layout-1/t018
gcc.sum tmpdir-gcc.dg-struct-layout-1/t019
gcc.sum tmpdir-gcc.dg-struct-layout-1/t020
gcc.sum tmpdir-gcc.dg-struct-layout-1/t021
gcc.sum tmpdir-gcc.dg-struct-layout-1/t022
gcc.sum tmpdir-gcc.dg-struct-layout-1/t023
gcc.sum tmpdir-gcc.dg-struct-layout-1/t024
gcc.sum tmpdir-gcc.dg-struct-layout-1/t025
gcc.sum tmpdir-gcc.dg-struct-layout-1/t026
gcc.sum tmpdir-gcc.dg-struct-layout-1/t027
gcc.sum tmpdir-gcc.dg-struct-layout-1/t028

The initial description is missing the c++ part of the log, but I don't think
that adds anything interesting.  The important text for the C tests is already
there; just the gcc.dg/torture/stackalign results too.


  parent reply	other threads:[~2010-10-19  2:38 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-10-11  3:26 [Bug rtl-optimization/45962] New: " hp at gcc dot gnu.org
2010-10-11 17:27 ` [Bug rtl-optimization/45962] " rth at gcc dot gnu.org
2010-10-11 17:38 ` hp at gcc dot gnu.org
2010-10-11 17:38 ` hp at gcc dot gnu.org
2010-10-11 18:12 ` rth at gcc dot gnu.org
2010-10-11 22:46 ` [Bug middle-end/45962] " rth at gcc dot gnu.org
2010-10-12  2:31 ` hp at gcc dot gnu.org
2010-10-12 15:53 ` rth at gcc dot gnu.org
2010-10-12 15:55 ` rth at gcc dot gnu.org
2010-10-12 19:30 ` hp at gcc dot gnu.org
2010-10-12 20:23 ` hp at gcc dot gnu.org
2010-10-12 21:31 ` rth at gcc dot gnu.org
2010-10-12 21:55 ` hp at gcc dot gnu.org
2010-10-12 22:06 ` rth at gcc dot gnu.org
2010-10-12 22:16 ` hp at gcc dot gnu.org
2010-10-12 22:49 ` hp at gcc dot gnu.org
2010-10-19  2:38 ` hp at gcc dot gnu.org [this message]
2010-10-19 15:49 ` rth at gcc dot gnu.org
2010-10-19 22:22 ` hp at gcc dot gnu.org
2010-10-19 23:21 ` rth at gcc dot gnu.org
2010-11-03 15:39 ` rguenth at gcc dot gnu.org
2010-11-15 11:34 ` rguenth at gcc dot gnu.org
2011-03-11  4:42 ` hp at gcc dot gnu.org

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20101019023800.H9U-0w76HTvmE27Egko7DtBCwcVx5M_vzJIuP84Fcyo@z \
    --to=gcc-bugzilla@gcc.gnu.org \
    --cc=gcc-bugs@gcc.gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).