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

             Bug #: 53125
           Summary: Very slow register allocation on SPARC
    Classification: Unclassified
           Product: gcc
           Version: 4.7.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: rtl-optimization
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: i...@airs.com
                CC: r...@gcc.gnu.org, vmaka...@redhat.com
            Target: sparc-sun-solaris2.11


Created attachment 27244
  --> http://gcc.gnu.org/bugzilla/attachment.cgi?id=27244
Test case

The attached test case is a conversion to C of a machine generated test case in
Go (the machine generated Go source is in
gcc/testsuite/go.test/test/cmpldivide1.go).

When I compile this test case without optimization on an x86_64 GNU/Linux
system, it takes 5.8 seconds.  When I compile it without optimization on a
SPARC Solaris 2.11 system, it takes 2 minutes 32.8 seconds.  The SPARC machine
is slower than the x86_64 machine.  But it's not that much slower.

According to -ftime-report on the SPARC system, 45% of the time is "register
information" and 41% of the time is "integrated RA."

Since the file is machine generated, I would be willing to accept a 2 1/2
minute compilation time with optimization.  But without optimization it is just
too slow.  And the discrepancy with x86_64 is extreme.

Reply via email to