public inbox for gcc-bugs@sourceware.org
help / color / mirror / Atom feed
* [Bug target/29961]  New: SH port uses big-endian specific register numbers
@ 2006-11-23 20:14 amylaar at gcc dot gnu dot org
  0 siblings, 0 replies; only message in thread
From: amylaar at gcc dot gnu dot org @ 2006-11-23 20:14 UTC (permalink / raw)
  To: gcc-bugs

The SH port internally uses fixed register numbers for MACH/MACL and the
floating point registers, which are only appropriate for big endian.
This prevents using SImode subregs of DFmode registers, and referring to
a 64 bit multiplication result in MACH/MACL as DImode.

The register numbering should be changed so that the registers always appear in
the same endianness as memory, and inasmuch as they only exist because of the
wrong-numbered registers, pattern and register class anomalies removed and
CLASS_CANNOT_CHANGE_MODE made to return 0 whenever possible.  This should allow
to make best use of the rtl optimizers.


-- 
           Summary: SH port uses big-endian specific register numbers
           Product: gcc
           Version: 4.3.0
            Status: UNCONFIRMED
          Keywords: missed-optimization
          Severity: normal
          Priority: P3
         Component: target
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: amylaar at gcc dot gnu dot org
GCC target triplet: sh-*-*
 BugsThisDependsOn: 29842


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


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2006-11-23 20:14 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2006-11-23 20:14 [Bug target/29961] New: SH port uses big-endian specific register numbers amylaar 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).