[Mono-bugs] [Bug 487846] New: PPC code gen is inefficient in several areas

bugzilla_noreply at novell.com bugzilla_noreply at novell.com
Mon Mar 23 12:51:10 EDT 2009


https://bugzilla.novell.com/show_bug.cgi?id=487846


           Summary: PPC code gen is inefficient in several areas
    Classification: Mono
           Product: Mono: Runtime
           Version: SVN
          Platform: PowerPC-64
        OS/Version: openSUSE 10.3
            Status: NEW
          Severity: Normal
          Priority: P5 - None
         Component: JIT
        AssignedTo: lupus at novell.com
        ReportedBy: munroesj at us.ibm.com
         QAContact: mono-bugs at lists.ximian.com
          Found By: ---


User-Agent:       Mozilla/5.0 (X11; U; Linux ppc64; en-US; rv:1.8.1.19)
Gecko/20081213 SUSE/2.0.0.19-0.3 Firefox/2.0.0.19

The current implementation generated inefficient core for local calls and
adresses in general

For example a non-virtual call to another method in the same compile unit will
use the:

lis,ori,mtlr,blrl sequence when it should be a simple PC relative bl
instruction in most case. It is much worse in PPC64 where the lis, ori, sldi,
oris, ori, mtlr, blrl is used.

This bad for several reasons. The ppc_load_sequence is a dependent sequence
which does not support super-scalar execution. Also the blrl is likely to be
mispredicted as generating the same sequence in multiple sites will pollute the
link stack. 



Reproducible: Always

Steps to Reproduce:
1. mono -v -v
2. look at the generated code
3.

-- 
Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.


More information about the mono-bugs mailing list