http://gcc.gnu.org/bugzilla/show_bug.cgi?id=48435
Eric Botcazou <ebotcazou at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Last reconfirmed| |2011.04.07 14:03:22 CC| |ebotcazou at gcc dot | |gnu.org Ever Confirmed|0 |1 --- Comment #5 from Eric Botcazou <ebotcazou at gcc dot gnu.org> 2011-04-07 14:03:22 UTC --- > All pseudos got 0 available hard regs and therefore spills. Something wrong > with calculation of number of available hard regs for targets which can use > reg pairs starting only on even/odd hard regs. I'm seeing this on the SPARC as well (gcc.target/sparc/combined-1.c): Loop 0 (parent -1, header bb0, depth 0) bbs: 2 all: 0r122 1r121 2r115 3r116 4r120 5r119 modified regnos: 115 116 119 120 121 122 border: Pressure: GENERAL_OR_EXTRA_FP_REGS=8 [...] Allocno a0r122 of EXTRA_FP_REGS(64) has 0 avail. regs obj 0 32 [...] Allocno a1r121 of EXTRA_FP_REGS(64) has 0 avail. regs obj 0 32 [...] Coalescing spilled allocnos a1r121->a5r119 Coalescing spilled allocnos a0r122->a2r115 Slot 1 (freq,size): a0r122(2000,8) a2r115(4000,8) Slot 2 (freq,size): a3r116(4000,8) Slot 3 (freq,size): a1r121(2000,8) a5r119(2000,8) Slot 4 (freq,size): a4r120(2000,8) Assigning 120(freq=2000) a new slot 3 Assigning 119(freq=2000) a new slot 2 Assigning 121(freq=2000) slot 2 of 119 Assigning 116(freq=4000) a new slot 1 Assigning 115(freq=4000) a new slot 0 Assigning 122(freq=2000) slot 0 of 115