]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
A further hack to reduce ppc32 reg-alloc costs: don't give the
authorJulian Seward <jseward@acm.org>
Mon, 4 Jul 2005 09:40:56 +0000 (09:40 +0000)
committerJulian Seward <jseward@acm.org>
Mon, 4 Jul 2005 09:40:56 +0000 (09:40 +0000)
regalloc so many registers to play with.  In the majority of cases it
won't be able to make much use of vast hordes of FP and Altivec
registers anyway.

git-svn-id: svn://svn.valgrind.org/vex/trunk@1254

VEX/priv/host-ppc32/hdefs.c

index 36a92a56c09ed95d03a08966eebf0c04bfde101a..c9dce5afbcd015d4c75b1adfb3ebf3e2b99a57ca 100644 (file)
@@ -181,7 +181,7 @@ HReg hregPPC32_VR31 ( void ) { return mkHReg(31, HRcVec128, False); }
 void getAllocableRegs_PPC32 ( Int* nregs, HReg** arr )
 {
    UInt i=0;
-   *nregs = 90;
+   *nregs = 90 - 24 - 24;
    *arr = LibVEX_Alloc(*nregs * sizeof(HReg));
    // GPR0 = scratch reg where possible - some ops interpret as value zero
    // GPR1 = stack pointer
@@ -224,6 +224,7 @@ void getAllocableRegs_PPC32 ( Int* nregs, HReg** arr )
    (*arr)[i++] = hregPPC32_FPR5();
    (*arr)[i++] = hregPPC32_FPR6();
    (*arr)[i++] = hregPPC32_FPR7();
+/*
    (*arr)[i++] = hregPPC32_FPR8();
    (*arr)[i++] = hregPPC32_FPR9();
    (*arr)[i++] = hregPPC32_FPR10();
@@ -248,7 +249,7 @@ void getAllocableRegs_PPC32 ( Int* nregs, HReg** arr )
    (*arr)[i++] = hregPPC32_FPR29();
    (*arr)[i++] = hregPPC32_FPR30();
    (*arr)[i++] = hregPPC32_FPR31();
-
+*/
    (*arr)[i++] = hregPPC32_VR0();
    (*arr)[i++] = hregPPC32_VR1();
    (*arr)[i++] = hregPPC32_VR2();
@@ -257,6 +258,7 @@ void getAllocableRegs_PPC32 ( Int* nregs, HReg** arr )
    (*arr)[i++] = hregPPC32_VR5();
    (*arr)[i++] = hregPPC32_VR6();
    (*arr)[i++] = hregPPC32_VR7();
+/*
    (*arr)[i++] = hregPPC32_VR8();
    (*arr)[i++] = hregPPC32_VR9();
    (*arr)[i++] = hregPPC32_VR10();
@@ -281,7 +283,7 @@ void getAllocableRegs_PPC32 ( Int* nregs, HReg** arr )
    (*arr)[i++] = hregPPC32_VR29();
    (*arr)[i++] = hregPPC32_VR30();
    (*arr)[i++] = hregPPC32_VR31();
-
+*/
    vassert(i == *nregs);
 }