public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
* [Bug target/57708] New: function clobbers callee saved register on ARM @ 2013-06-25 12:28 mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:29 ` [Bug target/57708] " mikulas at artax dot karlin.mff.cuni.cz ` (6 more replies) 0 siblings, 7 replies; 8+ messages in thread From: mikulas at artax dot karlin.mff.cuni.cz @ 2013-06-25 12:28 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 Bug ID: 57708 Summary: function clobbers callee saved register on ARM Product: gcc Version: 4.8.1 Status: UNCONFIRMED Severity: major Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: mikulas at artax dot karlin.mff.cuni.cz Compile the attached code with -O3 -mcpu=cortex-a15 -marm on ARM EABI (the bug happens with hardfp or without). The functions html_h3, html_h4, html_h5, html_h6 clobber the register r5 and do not save it. They save only r4. The bug is present in gcc-4.8 and gcc-4.8.1 ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/57708] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz @ 2013-06-25 12:29 ` mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:54 ` mikulas at artax dot karlin.mff.cuni.cz ` (5 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: mikulas at artax dot karlin.mff.cuni.cz @ 2013-06-25 12:29 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 mikulas at artax dot karlin.mff.cuni.cz changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mikulas at artax dot karlin.mff.cu | |ni.cz --- Comment #1 from mikulas at artax dot karlin.mff.cuni.cz --- Created attachment 30361 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30361&action=edit a code that reproduces the bug ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug target/57708] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:29 ` [Bug target/57708] " mikulas at artax dot karlin.mff.cuni.cz @ 2013-06-25 12:54 ` mikulas at artax dot karlin.mff.cuni.cz 2013-08-02 16:58 ` [Bug rtl-optimization/57708] [4.8 regression] " rearnsha at gcc dot gnu.org ` (4 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: mikulas at artax dot karlin.mff.cuni.cz @ 2013-06-25 12:54 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 --- Comment #2 from mikulas at artax dot karlin.mff.cuni.cz --- Created attachment 30362 --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30362&action=edit another reproduction code The code in the first attachment actually did some out-of-memory accesses because I simplified it too much. This is the second attachment that should be correct. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug rtl-optimization/57708] [4.8 regression] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:29 ` [Bug target/57708] " mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:54 ` mikulas at artax dot karlin.mff.cuni.cz @ 2013-08-02 16:58 ` rearnsha at gcc dot gnu.org 2013-08-03 11:20 ` rearnsha at gcc dot gnu.org ` (3 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: rearnsha at gcc dot gnu.org @ 2013-08-02 16:58 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 Richard Earnshaw <rearnsha at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2013-08-02 Component|target |rtl-optimization Summary|function clobbers callee |[4.8 regression] function |saved register on ARM |clobbers callee saved | |register on ARM Ever confirmed|0 |1 --- Comment #3 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- This is a bug in peep2_find_free_register() which fails to correctly validate that second and subsequent registers in a multi-register mode are available for use. Marked as a regression since this code would have worked correctly on older compilers. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug rtl-optimization/57708] [4.8 regression] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz ` (2 preceding siblings ...) 2013-08-02 16:58 ` [Bug rtl-optimization/57708] [4.8 regression] " rearnsha at gcc dot gnu.org @ 2013-08-03 11:20 ` rearnsha at gcc dot gnu.org 2013-08-05 9:52 ` rearnsha at gcc dot gnu.org ` (2 subsequent siblings) 6 siblings, 0 replies; 8+ messages in thread From: rearnsha at gcc dot gnu.org @ 2013-08-03 11:20 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 Richard Earnshaw <rearnsha at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |ASSIGNED Assignee|unassigned at gcc dot gnu.org |rearnsha at gcc dot gnu.org ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug rtl-optimization/57708] [4.8 regression] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz ` (3 preceding siblings ...) 2013-08-03 11:20 ` rearnsha at gcc dot gnu.org @ 2013-08-05 9:52 ` rearnsha at gcc dot gnu.org 2013-08-05 20:29 ` rearnsha at gcc dot gnu.org 2013-09-02 14:59 ` clyon at gcc dot gnu.org 6 siblings, 0 replies; 8+ messages in thread From: rearnsha at gcc dot gnu.org @ 2013-08-05 9:52 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 --- Comment #4 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- Proposed patch posted here: http://gcc.gnu.org/ml/gcc-patches/2013-08/msg00194.html ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug rtl-optimization/57708] [4.8 regression] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz ` (4 preceding siblings ...) 2013-08-05 9:52 ` rearnsha at gcc dot gnu.org @ 2013-08-05 20:29 ` rearnsha at gcc dot gnu.org 2013-09-02 14:59 ` clyon at gcc dot gnu.org 6 siblings, 0 replies; 8+ messages in thread From: rearnsha at gcc dot gnu.org @ 2013-08-05 20:29 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 Richard Earnshaw <rearnsha at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution|--- |FIXED Target Milestone|--- |4.8.2 --- Comment #5 from Richard Earnshaw <rearnsha at gcc dot gnu.org> --- Fixed with: PR rtl-optimization/57708 * recog.c (peep2_find_free_register): Validate all regs in a multi-reg mode. Trunk revision: r201501. gcc-4.8 revision: r201510. ^ permalink raw reply [flat|nested] 8+ messages in thread
* [Bug rtl-optimization/57708] [4.8 regression] function clobbers callee saved register on ARM 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz ` (5 preceding siblings ...) 2013-08-05 20:29 ` rearnsha at gcc dot gnu.org @ 2013-09-02 14:59 ` clyon at gcc dot gnu.org 6 siblings, 0 replies; 8+ messages in thread From: clyon at gcc dot gnu.org @ 2013-09-02 14:59 UTC (permalink / raw) To: gcc-bugs http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57708 --- Comment #6 from clyon at gcc dot gnu.org --- Author: clyon Date: Mon Sep 2 14:59:09 2013 New Revision: 202176 URL: http://gcc.gnu.org/viewcvs?rev=202176&root=gcc&view=rev Log: 2013-08-26 Kugan Vivekanandarajah <kuganv@linaro.org> Backport from trunk r201501. 2013-08-05 Richard Earnshaw <rearnsha@arm.com> PR rtl-optimization/57708 * recog.c (peep2_find_free_register): Validate all regs in a multi-reg mode. Modified: branches/linaro/gcc-4_8-branch/gcc/ChangeLog.linaro branches/linaro/gcc-4_8-branch/gcc/recog.c ^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2013-09-02 14:59 UTC | newest] Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2013-06-25 12:28 [Bug target/57708] New: function clobbers callee saved register on ARM mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:29 ` [Bug target/57708] " mikulas at artax dot karlin.mff.cuni.cz 2013-06-25 12:54 ` mikulas at artax dot karlin.mff.cuni.cz 2013-08-02 16:58 ` [Bug rtl-optimization/57708] [4.8 regression] " rearnsha at gcc dot gnu.org 2013-08-03 11:20 ` rearnsha at gcc dot gnu.org 2013-08-05 9:52 ` rearnsha at gcc dot gnu.org 2013-08-05 20:29 ` rearnsha at gcc dot gnu.org 2013-09-02 14:59 ` clyon at gcc dot gnu.org
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).