http://gcc.gnu.org/bugzilla/show_bug.cgi?id=47725
Summary: [x32] error: unable to find a register to spill in class DIREG Product: gcc Version: 4.6.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassig...@gcc.gnu.org ReportedBy: hjl.to...@gmail.com CC: ubiz...@gmail.com On x32 branch, I got /export/build/gnu/gcc-x32/build-x86_64-linux/gcc/xgcc -B/export/build/gnu/gcc-x32/build-x86_64-linux/gcc/ -S -o u.s -mx32 -O2 -g -fPIC u.c u.c: In function \u2018__frame_state_for\u2019: u.c:14:1: error: unable to find a register to spill in class \u2018DIREG\u2019 u.c:14:1: error: this is the insn: (insn 11 20 14 2 (parallel [ (set (reg:DI 2 cx [64]) (const_int 0 [0])) (set (reg/f:DI 0 ax [62]) (plus:DI (ashift:DI (reg:DI 2 cx [64]) (const_int 3 [0x3])) (reg/f:DI 1 dx [60]))) (set (mem/s/c:BLK (reg/f:DI 1 dx [60]) [0 context+0 S72 A64]) (const_int 0 [0])) (use (reg:DI 0 ax [63])) (use (reg:DI 2 cx [64])) ]) u.c:11 874 {*rep_stosdi_rex64} (expr_list:REG_DEAD (reg:DI 0 ax [63]) (expr_list:REG_UNUSED (reg:DI 2 cx [64]) (expr_list:REG_UNUSED (reg/f:DI 0 ax [62]) (nil))))) u.c:14:1: internal compiler error: in spill_failure, at reload1.c:2105 Please submit a full bug report, with preprocessed source if appropriate. See <http://gcc.gnu.org/bugs.html> for instructions. make: *** [u.s] Error 1 [hjl@gnu-6 ilp32-14]$