public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/44075]  New: __builtin_eh_return miscompiled
@ 2010-05-11  9:47 amodra at gmail dot com
  2010-05-12 11:40 ` [Bug target/44075] " amodra at gmail dot com
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: amodra at gmail dot com @ 2010-05-11  9:47 UTC (permalink / raw)
  To: gcc-bugs

At any optimisation level other than -O0, it seems that __builtin_eh_return
loses its handler arg.  For -m32 -O2 -S the following:

long offset;
void *handler;

void foo (void)
{
  __builtin_eh_return (offset, handler);
}

compiles to:

foo:
        stwu 1,-32(1)
        lis 9,offset@ha
        mflr 0
        stw 0,36(1)
        stw 3,16(1)
        stw 4,20(1)
        stw 5,24(1)
        stw 6,28(1)
        lwz 10,offset@l(9)
        lwz 0,36(1)
        lwz 3,16(1)
        lwz 4,20(1)
        lwz 5,24(1)
        mtlr 0
        lwz 6,28(1)
        addi 1,1,32
        add 1,1,10
        blr


-- 
           Summary: __builtin_eh_return miscompiled
           Product: gcc
           Version: 4.4.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amodra at gmail dot com
GCC target triplet: powerpc*-*-linux


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
@ 2010-05-12 11:40 ` amodra at gmail dot com
  2010-05-14  0:35 ` amodra at gcc dot gnu dot org
                   ` (5 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gmail dot com @ 2010-05-12 11:40 UTC (permalink / raw)
  To: gcc-bugs



-- 

amodra at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |amodra at gmail dot com
                   |dot org                     |
             Status|UNCONFIRMED                 |ASSIGNED
     Ever Confirmed|0                           |1
   Last reconfirmed|0000-00-00 00:00:00         |2010-05-12 11:40:16
               date|                            |


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
  2010-05-12 11:40 ` [Bug target/44075] " amodra at gmail dot com
@ 2010-05-14  0:35 ` amodra at gcc dot gnu dot org
  2010-05-17 13:41 ` bergner at gcc dot gnu dot org
                   ` (4 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gcc dot gnu dot org @ 2010-05-14  0:35 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #1 from amodra at gcc dot gnu dot org  2010-05-14 00:35 -------
Subject: Bug 44075

Author: amodra
Date: Fri May 14 00:35:16 2010
New Revision: 159382

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159382
Log:
        PR target/44075
        * config/rs6000/rs6000.c (struct machine_function): Reorder
        fields for better packing.  Add lr_save_state.
        (rs6000_ra_ever_killed): Return lr_save_state if set.
        (rs6000_emit_eh_reg_restore): Set lr_save_state.


Modified:
    trunk/gcc/ChangeLog
    trunk/gcc/config/rs6000/rs6000.c


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
  2010-05-12 11:40 ` [Bug target/44075] " amodra at gmail dot com
  2010-05-14  0:35 ` amodra at gcc dot gnu dot org
@ 2010-05-17 13:41 ` bergner at gcc dot gnu dot org
  2010-06-04  4:57 ` amodra at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: bergner at gcc dot gnu dot org @ 2010-05-17 13:41 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #2 from bergner at gcc dot gnu dot org  2010-05-17 13:41 -------
Subject: Bug 44075

Author: bergner
Date: Mon May 17 13:41:22 2010
New Revision: 159487

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=159487
Log:
        Backport from mainline:

        2010-05-14  Alan Modra  <amodra@gmail.com>

        PR target/44075
        * config/rs6000/rs6000.c (struct machine_function): Reorder
        fields for better packing.  Add lr_save_state.
        (rs6000_ra_ever_killed): Return lr_save_state if set.
        (rs6000_emit_eh_reg_restore): Set lr_save_state.

Modified:
    branches/ibm/gcc-4_4-branch/gcc/ChangeLog.ibm
    branches/ibm/gcc-4_4-branch/gcc/config/rs6000/rs6000.c


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
                   ` (2 preceding siblings ...)
  2010-05-17 13:41 ` bergner at gcc dot gnu dot org
@ 2010-06-04  4:57 ` amodra at gcc dot gnu dot org
  2010-06-04  4:57 ` amodra at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gcc dot gnu dot org @ 2010-06-04  4:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #4 from amodra at gcc dot gnu dot org  2010-06-04 04:57 -------
Subject: Bug 44075

Author: amodra
Date: Fri Jun  4 04:57:21 2010
New Revision: 160247

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160247
Log:
        PR target/44075
        * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
        fields for better packing.  Add lr_save_state.
        (rs6000_ra_ever_killed): Return lr_save_state if set.
        (rs6000_emit_eh_reg_restore): Set lr_save_state.


Modified:
    branches/gcc-4_4-branch/gcc/ChangeLog
    branches/gcc-4_4-branch/gcc/config/rs6000/rs6000.c


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
                   ` (3 preceding siblings ...)
  2010-06-04  4:57 ` amodra at gcc dot gnu dot org
@ 2010-06-04  4:57 ` amodra at gcc dot gnu dot org
  2010-06-04  4:58 ` amodra at gcc dot gnu dot org
  2010-06-04  4:59 ` amodra at gmail dot com
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gcc dot gnu dot org @ 2010-06-04  4:57 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #3 from amodra at gcc dot gnu dot org  2010-06-04 04:57 -------
Subject: Bug 44075

Author: amodra
Date: Fri Jun  4 04:56:54 2010
New Revision: 160246

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160246
Log:
        PR target/44075
        * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
        fields for better packing.  Add lr_save_state.
        (rs6000_ra_ever_killed): Return lr_save_state if set.
        (rs6000_emit_eh_reg_restore): Set lr_save_state.


Modified:
    branches/gcc-4_5-branch/gcc/ChangeLog
    branches/gcc-4_5-branch/gcc/config/rs6000/rs6000.c


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
                   ` (4 preceding siblings ...)
  2010-06-04  4:57 ` amodra at gcc dot gnu dot org
@ 2010-06-04  4:58 ` amodra at gcc dot gnu dot org
  2010-06-04  4:59 ` amodra at gmail dot com
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gcc dot gnu dot org @ 2010-06-04  4:58 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #5 from amodra at gcc dot gnu dot org  2010-06-04 04:58 -------
Subject: Bug 44075

Author: amodra
Date: Fri Jun  4 04:58:05 2010
New Revision: 160248

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=160248
Log:
        PR target/44075
        * gcc/config/rs6000/rs6000.c (struct machine_function): Reorder
        fields for better packing.  Add lr_save_state.
        (rs6000_ra_ever_killed): Return lr_save_state if set.
        (rs6000_emit_eh_reg_restore): Set lr_save_state.


Modified:
    branches/gcc-4_3-branch/gcc/ChangeLog
    branches/gcc-4_3-branch/gcc/config/rs6000/rs6000.c


-- 


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

* [Bug target/44075] __builtin_eh_return miscompiled
  2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
                   ` (5 preceding siblings ...)
  2010-06-04  4:58 ` amodra at gcc dot gnu dot org
@ 2010-06-04  4:59 ` amodra at gmail dot com
  6 siblings, 0 replies; 8+ messages in thread
From: amodra at gmail dot com @ 2010-06-04  4:59 UTC (permalink / raw)
  To: gcc-bugs



------- Comment #6 from amodra at gmail dot com  2010-06-04 04:59 -------
fixed


-- 

amodra at gmail dot com changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|ASSIGNED                    |RESOLVED
         Resolution|                            |FIXED


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


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2010-06-04  4:59 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-05-11  9:47 [Bug target/44075] New: __builtin_eh_return miscompiled amodra at gmail dot com
2010-05-12 11:40 ` [Bug target/44075] " amodra at gmail dot com
2010-05-14  0:35 ` amodra at gcc dot gnu dot org
2010-05-17 13:41 ` bergner at gcc dot gnu dot org
2010-06-04  4:57 ` amodra at gcc dot gnu dot org
2010-06-04  4:57 ` amodra at gcc dot gnu dot org
2010-06-04  4:58 ` amodra at gcc dot gnu dot org
2010-06-04  4:59 ` amodra at gmail dot com

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).