public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/53914] New: poor code generated for offset addressing on ppc32
@ 2012-07-10 13:21 amodra at gmail dot com
  2012-07-10 13:33 ` [Bug target/53914] " amodra at gmail dot com
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: amodra at gmail dot com @ 2012-07-10 13:21 UTC (permalink / raw)
  To: gcc-bugs

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

             Bug #: 53914
           Summary: poor code generated for offset addressing on ppc32
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned@gcc.gnu.org
        ReportedBy: amodra@gmail.com


/* -m32 -O2 code for f5 thru f12 store y to a stack slot, load that to
   a fpr, then store the fpr.  The other function store y directly
   from the input r5 and r6 as expected.  */
void f1 (void *x, long long y) { *(long long *) (x + 32767) = y; }
void f2 (void *x, long long y) { *(long long *) (x + 32766) = y; }
void f3 (void *x, long long y) { *(long long *) (x + 32765) = y; }
void f4 (void *x, long long y) { *(long long *) (x + 32764) = y; }
void f5 (void *x, long long y) { *(long long *) (x + 32763) = y; }
void f6 (void *x, long long y) { *(long long *) (x + 32762) = y; }
void f7 (void *x, long long y) { *(long long *) (x + 32761) = y; }
void f8 (void *x, long long y) { *(long long *) (x + 32760) = y; }
void f9 (void *x, long long y) { *(long long *) (x + 32759) = y; }
void f10 (void *x, long long y) { *(long long *) (x + 32758) = y; }
void f11 (void *x, long long y) { *(long long *) (x + 32757) = y; }
void f12 (void *x, long long y) { *(long long *) (x + 32756) = y; }
void f13 (void *x, long long y) { *(long long *) (x + 32755) = y; }
void f14 (void *x, long long y) { *(long long *) (x + 32754) = y; }
void f15 (void *x, long long y) { *(long long *) (x + 32753) = y; }
void f16 (void *x, long long y) { *(long long *) (x + 32752) = y; }
void f17 (void *x, long long y) { *(long long *) (x + 32751) = y; }
void f18 (void *x, long long y) { *(long long *) (x + 32750) = y; }
void f19 (void *x, long long y) { *(long long *) (x + 32749) = y; }
void f20 (void *x, long long y) { *(long long *) (x + 32748) = y; }


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

end of thread, other threads:[~2012-07-24  6:16 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-10 13:21 [Bug target/53914] New: poor code generated for offset addressing on ppc32 amodra at gmail dot com
2012-07-10 13:33 ` [Bug target/53914] " amodra at gmail dot com
2012-07-10 13:37 ` amodra at gmail dot com
2012-07-24  5:56 ` amodra at gcc dot gnu.org
2012-07-24  6:11 ` amodra at gmail dot com
2012-07-24  6:16 ` 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).