Commit a35e86c55fa2858c7828058f2e59956597aaa7af

Authored by malc
1 parent d50997f9

Shuffle contents of tcg_target_reg_alloc_order

Move reserved/volatile registers down. Currently qemu_ld/stXX are
marked with TCG_OPF_CALL_CLOBBER and since memory accesses are
frequent and R3 through R12 are volatile moving this down results in
less spills and tighter generated code.

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@4778 c046a42c-6fe2-441c-8c8c-71466251a162
Showing 1 changed file with 18 additions and 18 deletions
tcg/ppc/tcg-target.c
@@ -67,9 +67,20 @@ static const char * const tcg_target_reg_names[TCG_TARGET_NB_REGS] = { @@ -67,9 +67,20 @@ static const char * const tcg_target_reg_names[TCG_TARGET_NB_REGS] = {
67 }; 67 };
68 68
69 static const int tcg_target_reg_alloc_order[] = { 69 static const int tcg_target_reg_alloc_order[] = {
70 - TCG_REG_R0,  
71 - TCG_REG_R1,  
72 - TCG_REG_R2, 70 + TCG_REG_R14,
  71 + TCG_REG_R15,
  72 + TCG_REG_R16,
  73 + TCG_REG_R17,
  74 + TCG_REG_R18,
  75 + TCG_REG_R19,
  76 + TCG_REG_R20,
  77 + TCG_REG_R21,
  78 + TCG_REG_R22,
  79 + TCG_REG_R23,
  80 + TCG_REG_R28,
  81 + TCG_REG_R29,
  82 + TCG_REG_R30,
  83 + TCG_REG_R31,
73 TCG_REG_R3, 84 TCG_REG_R3,
74 TCG_REG_R4, 85 TCG_REG_R4,
75 TCG_REG_R5, 86 TCG_REG_R5,
@@ -81,24 +92,13 @@ static const int tcg_target_reg_alloc_order[] = { @@ -81,24 +92,13 @@ static const int tcg_target_reg_alloc_order[] = {
81 TCG_REG_R11, 92 TCG_REG_R11,
82 TCG_REG_R12, 93 TCG_REG_R12,
83 TCG_REG_R13, 94 TCG_REG_R13,
84 - TCG_REG_R14,  
85 - TCG_REG_R15,  
86 - TCG_REG_R16,  
87 - TCG_REG_R17,  
88 - TCG_REG_R18,  
89 - TCG_REG_R19,  
90 - TCG_REG_R20,  
91 - TCG_REG_R21,  
92 - TCG_REG_R22,  
93 - TCG_REG_R23, 95 + TCG_REG_R0,
  96 + TCG_REG_R1,
  97 + TCG_REG_R2,
94 TCG_REG_R24, 98 TCG_REG_R24,
95 TCG_REG_R25, 99 TCG_REG_R25,
96 TCG_REG_R26, 100 TCG_REG_R26,
97 - TCG_REG_R27,  
98 - TCG_REG_R28,  
99 - TCG_REG_R29,  
100 - TCG_REG_R30,  
101 - TCG_REG_R31 101 + TCG_REG_R27
102 }; 102 };
103 103
104 static const int tcg_target_call_iarg_regs[] = { 104 static const int tcg_target_call_iarg_regs[] = {