public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/58523] New: ARM and AArch64:  -fsection-anchors doesn't seem to work
@ 2013-09-25  6:20 b.grayson at samsung dot com
  2013-09-25  6:28 ` [Bug target/58523] " pinskia at gcc dot gnu.org
                   ` (3 more replies)
  0 siblings, 4 replies; 5+ messages in thread
From: b.grayson at samsung dot com @ 2013-09-25  6:20 UTC (permalink / raw)
  To: gcc-bugs

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

            Bug ID: 58523
           Summary: ARM and AArch64:  -fsection-anchors doesn't seem to
                    work
           Product: gcc
           Version: 4.9.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
          Assignee: unassigned at gcc dot gnu.org
          Reporter: b.grayson at samsung dot com
            Target: arm, aarch64
             Build: gcc-4.9-20130915-arm-linux-gnueabhihf,
                    gcc-aarch64-4.9-20130602/aarch64-linux-gnu-gcc

Created attachment 30890
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=30890&action=edit
Test C file with two global variables, and a use of both of them

I've tried compiling with -fsection-anchors in several different releases of
gcc for ARM and now for aarch64, and it seems the optimization is not kicking
in for scenarios where it should.  I looked through the gcc/config directories,
and the support seems to be there.  Here is a simple testcase.  The resulting
assembly (not posted here, according to bug-reporting guidelines) does a full
address-generation for variable a, and then again for variable b.


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

* [Bug target/58523] ARM and AArch64:  -fsection-anchors doesn't seem to work
  2013-09-25  6:20 [Bug target/58523] New: ARM and AArch64: -fsection-anchors doesn't seem to work b.grayson at samsung dot com
@ 2013-09-25  6:28 ` pinskia at gcc dot gnu.org
  2013-09-25  6:29 ` pinskia at gcc dot gnu.org
                   ` (2 subsequent siblings)
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-09-25  6:28 UTC (permalink / raw)
  To: gcc-bugs

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

Andrew Pinski <pinskia at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|UNCONFIRMED                 |RESOLVED
         Resolution|---                         |INVALID

--- Comment #1 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
It is due to them being common symbols which are never section anchored due to
they might be in another TU.


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

* [Bug target/58523] ARM and AArch64:  -fsection-anchors doesn't seem to work
  2013-09-25  6:20 [Bug target/58523] New: ARM and AArch64: -fsection-anchors doesn't seem to work b.grayson at samsung dot com
  2013-09-25  6:28 ` [Bug target/58523] " pinskia at gcc dot gnu.org
@ 2013-09-25  6:29 ` pinskia at gcc dot gnu.org
  2013-09-25  6:30 ` pinskia at gcc dot gnu.org
  2013-09-25  6:55 ` b.grayson at samsung dot com
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-09-25  6:29 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #2 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Andrew Pinski from comment #1)
> It is due to them being common symbols which are never section anchored due
> to they might be in another TU.
Use -fno-common or initialize those variables to 0.


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

* [Bug target/58523] ARM and AArch64:  -fsection-anchors doesn't seem to work
  2013-09-25  6:20 [Bug target/58523] New: ARM and AArch64: -fsection-anchors doesn't seem to work b.grayson at samsung dot com
  2013-09-25  6:28 ` [Bug target/58523] " pinskia at gcc dot gnu.org
  2013-09-25  6:29 ` pinskia at gcc dot gnu.org
@ 2013-09-25  6:30 ` pinskia at gcc dot gnu.org
  2013-09-25  6:55 ` b.grayson at samsung dot com
  3 siblings, 0 replies; 5+ messages in thread
From: pinskia at gcc dot gnu.org @ 2013-09-25  6:30 UTC (permalink / raw)
  To: gcc-bugs

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

--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
With -fno-common,
arm LE produces:
    movw    r3, #:lower16:.LANCHOR0
    movt    r3, #:upper16:.LANCHOR0
    ldmia    r3, {r0, r3}
    add    r0, r0, r3
    bx    lr

AARCH64 produces:
    adrp    x1, .LANCHOR0
    add    x1, x1, :lo12:.LANCHOR0
    ldr    w2, [x1]
    ldr    w0, [x1,4]
    add    w0, w2, w0
    ret


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

* [Bug target/58523] ARM and AArch64:  -fsection-anchors doesn't seem to work
  2013-09-25  6:20 [Bug target/58523] New: ARM and AArch64: -fsection-anchors doesn't seem to work b.grayson at samsung dot com
                   ` (2 preceding siblings ...)
  2013-09-25  6:30 ` pinskia at gcc dot gnu.org
@ 2013-09-25  6:55 ` b.grayson at samsung dot com
  3 siblings, 0 replies; 5+ messages in thread
From: b.grayson at samsung dot com @ 2013-09-25  6:55 UTC (permalink / raw)
  To: gcc-bugs

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

Brian Grayson <b.grayson at samsung dot com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|RESOLVED                    |CLOSED

--- Comment #4 from Brian Grayson <b.grayson at samsung dot com> ---
Thanks for the rapid response.  That does the trick, both in my testcase, and
in my larger program.


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

end of thread, other threads:[~2013-09-25  6:55 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-09-25  6:20 [Bug target/58523] New: ARM and AArch64: -fsection-anchors doesn't seem to work b.grayson at samsung dot com
2013-09-25  6:28 ` [Bug target/58523] " pinskia at gcc dot gnu.org
2013-09-25  6:29 ` pinskia at gcc dot gnu.org
2013-09-25  6:30 ` pinskia at gcc dot gnu.org
2013-09-25  6:55 ` b.grayson at samsung 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).