public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM
@ 2011-07-12 15:05 janis at gcc dot gnu.org
  2011-07-12 20:39 ` [Bug middle-end/49719] [4.7 Regression] " rguenth at gcc dot gnu.org
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: janis at gcc dot gnu.org @ 2011-07-12 15:05 UTC (permalink / raw)
  To: gcc-bugs

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

           Summary: test gcc.target/arm/sibcall-1.c fails for ARM
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: middle-end
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: janis@gcc.gnu.org


Test gcc.target/arm/sibcall-1.c starts failing with r176042, a fix for PR
middle-end/49519, for arm-none-linux-gnueabi configured with defaults for arch
and cpu.  The failure can be reproduced with a simple cross cc1.

See discussion in 49519.


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
@ 2011-07-12 20:39 ` rguenth at gcc dot gnu.org
  2011-07-13  9:46 ` ebotcazou at gcc dot gnu.org
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-07-12 20:39 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|                            |missed-optimization
             Target|arm                         |arm-*-*
   Target Milestone|---                         |4.7.0
            Summary|test                        |[4.7 Regression] test
                   |gcc.target/arm/sibcall-1.c  |gcc.target/arm/sibcall-1.c
                   |fails for ARM               |fails for ARM


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
  2011-07-12 20:39 ` [Bug middle-end/49719] [4.7 Regression] " rguenth at gcc dot gnu.org
@ 2011-07-13  9:46 ` ebotcazou at gcc dot gnu.org
  2011-10-10 12:19 ` rguenth at gcc dot gnu.org
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: ebotcazou at gcc dot gnu.org @ 2011-07-13  9:46 UTC (permalink / raw)
  To: gcc-bugs

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

Eric Botcazou <ebotcazou at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |NEW
   Last reconfirmed|                            |2011.07.13 09:45:43
                 CC|                            |ebotcazou at gcc dot
                   |                            |gnu.org
     Ever Confirmed|0                           |1

--- Comment #1 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-07-13 09:45:43 UTC ---
The sibcall still works on x86 but is indeed disabled on ARM because of the
lack of [reg+disp] addressing mode.  While on x86 you have:

(insn 15 14 16 3 (set (reg:SI 67)
        (mem/s/c:SI (plus:SI (reg/f:SI 53 virtual-incoming-args)
                (const_int 32 [0x20])) [3 a+8 S4 A32])) sibcall-1.c:22 -1
     (nil))

(insn 16 15 17 3 (set (mem:SI (plus:SI (reg/f:SI 53 virtual-incoming-args)
                (const_int 16 [0x10])) [0 S4 A32])
        (reg:SI 67)) sibcall-1.c:22 -1
     (nil))

on ARM you have instead:

(insn 21 10 22 3 (set (reg:SI 143)
        (reg/f:SI 131 virtual-outgoing-args)) sibcall-1.c:22 -1
     (nil))

(insn 22 21 23 3 (set (reg:SI 144)
        (plus:SI (reg/f:SI 128 virtual-incoming-args)
            (const_int 16 [0x10]))) sibcall-1.c:22 -1
     (nil))

(insn 23 22 24 3 (parallel [
            (set (reg:SI 0 r0)
                (mem/s/c:SI (reg:SI 144) [3 a+8 S4 A32]))
            (set (reg:SI 1 r1)
                (mem/s/c:SI (plus:SI (reg:SI 144)
                        (const_int 4 [0x4])) [3 a+12 S4 A32]))
        ]) sibcall-1.c:22 -1
     (nil))

(insn 24 23 25 3 (parallel [
            (set (mem:SI (reg:SI 143) [0 S4 A32])
                (reg:SI 0 r0))
            (set (mem:SI (plus:SI (reg:SI 143)
                        (const_int 4 [0x4])) [0 S4 A32])
                (reg:SI 1 r1))
        ]) sibcall-1.c:22 -1
     (nil))

so mem_overlaps_already_clobbered_arg_p doesn't see the displacement in the
effective address of the load.  Quite annoying.


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
  2011-07-12 20:39 ` [Bug middle-end/49719] [4.7 Regression] " rguenth at gcc dot gnu.org
  2011-07-13  9:46 ` ebotcazou at gcc dot gnu.org
@ 2011-10-10 12:19 ` rguenth at gcc dot gnu.org
  2011-11-28 15:33 ` jakub at gcc dot gnu.org
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: rguenth at gcc dot gnu.org @ 2011-10-10 12:19 UTC (permalink / raw)
  To: gcc-bugs

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

Richard Guenther <rguenth at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Priority|P3                          |P1


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
                   ` (2 preceding siblings ...)
  2011-10-10 12:19 ` rguenth at gcc dot gnu.org
@ 2011-11-28 15:33 ` jakub at gcc dot gnu.org
  2011-11-29 10:18 ` jakub at gcc dot gnu.org
  2011-12-05  8:41 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-11-28 15:33 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |jakub at gcc dot gnu.org

--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-11-28 15:15:22 UTC ---
See http://gcc.gnu.org/ml/gcc-patches/2011-11/msg02413.html


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
                   ` (3 preceding siblings ...)
  2011-11-28 15:33 ` jakub at gcc dot gnu.org
@ 2011-11-29 10:18 ` jakub at gcc dot gnu.org
  2011-12-05  8:41 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-11-29 10:18 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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


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

* [Bug middle-end/49719] [4.7 Regression] test gcc.target/arm/sibcall-1.c fails for ARM
  2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
                   ` (4 preceding siblings ...)
  2011-11-29 10:18 ` jakub at gcc dot gnu.org
@ 2011-12-05  8:41 ` jakub at gcc dot gnu.org
  5 siblings, 0 replies; 7+ messages in thread
From: jakub at gcc dot gnu.org @ 2011-12-05  8:41 UTC (permalink / raw)
  To: gcc-bugs

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

Jakub Jelinek <jakub at gcc dot gnu.org> changed:

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

--- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> 2011-12-05 08:37:16 UTC ---
Actually this particular testcase got fixed already by Joern's
http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=181738
change.  But even the patch covering non-empty stored_args_map is now in.


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

end of thread, other threads:[~2011-12-05  8:41 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-07-12 15:05 [Bug middle-end/49719] New: test gcc.target/arm/sibcall-1.c fails for ARM janis at gcc dot gnu.org
2011-07-12 20:39 ` [Bug middle-end/49719] [4.7 Regression] " rguenth at gcc dot gnu.org
2011-07-13  9:46 ` ebotcazou at gcc dot gnu.org
2011-10-10 12:19 ` rguenth at gcc dot gnu.org
2011-11-28 15:33 ` jakub at gcc dot gnu.org
2011-11-29 10:18 ` jakub at gcc dot gnu.org
2011-12-05  8:41 ` jakub 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).