public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
@ 2005-07-30 20:37 kazu at gcc dot gnu dot org
  2005-07-30 20:45 ` [Bug target/23150] " pinskia at gcc dot gnu dot org
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: kazu at gcc dot gnu dot org @ 2005-07-30 20:37 UTC (permalink / raw)
  To: gcc-bugs

Here is a reduced version of 20050713-1.c.

extern void abort (void);

struct S
{
  int a, b, c;
};

int
foo2 (struct S x, struct S y)
{
  if (x.b != 4)
    abort ();
  return 0;
}

int
bar2 (struct S x, struct S y)
{
  return foo2 (y, x);
}

int
main (void)
{
  struct S a = { 3, 4, 5 }, b = { 6, 7, 8 };

  bar2 (b, a);
  return 0;
}

Unlike PR 23090, which is for powerpc and only about -O2,
this one fails with -O2 or -Os on arm-none-eabi.

Since I have not analyzed the failure, I cannot conclude that
this is a duplicate of PR 23090 yet.

-- 
           Summary: 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
           Product: gcc
           Version: unknown
            Status: UNCONFIRMED
          Severity: normal
          Priority: P2
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: kazu at gcc dot gnu dot org
                CC: gcc-bugs at gcc dot gnu dot org
GCC target triplet: arm-none-eabi


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


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

* [Bug target/23150] 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
  2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
@ 2005-07-30 20:45 ` pinskia at gcc dot gnu dot org
  2005-08-11 15:55 ` rearnsha at gcc dot gnu dot org
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: pinskia at gcc dot gnu dot org @ 2005-07-30 20:45 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From pinskia at gcc dot gnu dot org  2005-07-30 20:40 -------
(In reply to comment #0)
> Unlike PR 23090, which is for powerpc and only about -O2,
> this one fails with -O2 or -Os on arm-none-eabi.

You mean only about -Os.

You might want to check if this is a regression.  I would think it is a regression from 3.4.0.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |wrong-code


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


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

* [Bug target/23150] 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
  2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
  2005-07-30 20:45 ` [Bug target/23150] " pinskia at gcc dot gnu dot org
@ 2005-08-11 15:55 ` rearnsha at gcc dot gnu dot org
  2005-09-26 16:13 ` kazu at gcc dot gnu dot org
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: rearnsha at gcc dot gnu dot org @ 2005-08-11 15:55 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From rearnsha at gcc dot gnu dot org  2005-08-11 15:55 -------
The problem seems to be related to the fact that in this configuration the
compiler has decided that bar2 can tailcall foo2.  In order to do this it then
has to swap x & y in place (well, with one temporary copy on the stack).  But
the code emitted to do this appears to be completely bogus in the first rtl
dump.  For some reason this same code does not use a tailcall when -mabi=atpcs
is used.

-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
     Ever Confirmed|                            |1
      Known to fail|                            |4.1.0
   Last reconfirmed|0000-00-00 00:00:00         |2005-08-11 15:55:15
               date|                            |


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


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

* [Bug target/23150] 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
  2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
  2005-07-30 20:45 ` [Bug target/23150] " pinskia at gcc dot gnu dot org
  2005-08-11 15:55 ` rearnsha at gcc dot gnu dot org
@ 2005-09-26 16:13 ` kazu at gcc dot gnu dot org
  2005-09-29  4:34 ` kazu at gcc dot gnu dot org
  2005-09-29  4:47 ` [Bug middle-end/23150] " kazu at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: kazu at gcc dot gnu dot org @ 2005-09-26 16:13 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From kazu at gcc dot gnu dot org  2005-09-26 16:13 -------
Slightly reduced to:

extern void abort (void) __attribute__((noreturn));

struct S
{
  int a, b, c;
};

void
foo2 (struct S x, struct S y)
{
  if (x.b != 4)
    abort ();
}

void
bar2 (struct S x, struct S y)
{
  foo2 (y, x);
}

int
main (void)
{
  struct S a = { 3, 4, 5 }, b = { 6, 7, 8 };

  bar2 (b, a);
  return 0;
}


-- 


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


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

* [Bug target/23150] 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
  2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
                   ` (2 preceding siblings ...)
  2005-09-26 16:13 ` kazu at gcc dot gnu dot org
@ 2005-09-29  4:34 ` kazu at gcc dot gnu dot org
  2005-09-29  4:47 ` [Bug middle-end/23150] " kazu at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: kazu at gcc dot gnu dot org @ 2005-09-29  4:34 UTC (permalink / raw)
  To: gcc-bugs



-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
         AssignedTo|unassigned at gcc dot gnu   |kazu at gcc dot gnu dot org
                   |dot org                     |
             Status|NEW                         |ASSIGNED


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


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

* [Bug middle-end/23150] 20050713-1.c fails on arm-none-eabi with -O2 or -Os.
  2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
                   ` (3 preceding siblings ...)
  2005-09-29  4:34 ` kazu at gcc dot gnu dot org
@ 2005-09-29  4:47 ` kazu at gcc dot gnu dot org
  4 siblings, 0 replies; 6+ messages in thread
From: kazu at gcc dot gnu dot org @ 2005-09-29  4:47 UTC (permalink / raw)
  To: gcc-bugs


------- Additional Comments From kazu at gcc dot gnu dot org  2005-09-29 04:47 -------
This turned out to be a bug in calls.c.  Changing to middle-end.


-- 
           What    |Removed                     |Added
----------------------------------------------------------------------------
          Component|target                      |middle-end


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


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

end of thread, other threads:[~2005-09-29  4:47 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-07-30 20:37 [Bug target/23150] New: 20050713-1.c fails on arm-none-eabi with -O2 or -Os kazu at gcc dot gnu dot org
2005-07-30 20:45 ` [Bug target/23150] " pinskia at gcc dot gnu dot org
2005-08-11 15:55 ` rearnsha at gcc dot gnu dot org
2005-09-26 16:13 ` kazu at gcc dot gnu dot org
2005-09-29  4:34 ` kazu at gcc dot gnu dot org
2005-09-29  4:47 ` [Bug middle-end/23150] " kazu at gcc dot gnu dot 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).