seen with the final 4.1.2 release; taken from the OOo 2.1 sources, which built fine with previous 4.1 versions.
test case fails with -O0, works with -O1 and -O2 Matthias In function 'void callVirtualMethod(void*, sal_uInt32, void*, typelib_TypeDescription*, bool, sal_uInt64*, sal_uInt32, sal_uInt64*, sal_uInt32, double*, sal_uInt32)': /home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198: error: unable to find a register to spill in class 'CREG' /home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198: error: this is the insn: (insn 68 67 71 6 (parallel [ (set (reg:DI 0 ax [orig:136 D.31215 ] [136]) (const_int 0 [0x0])) (set (reg/f:DI 40 r11 [orig:134 stack ] [134]) (plus:DI (reg/f:DI 40 r11 [orig:134 stack ] [134]) (reg:DI 0 ax [orig:136 D.31215 ] [136]))) (set (reg/f:DI 39 r10 [orig:135 pStack ] [135]) (plus:DI (reg/f:DI 39 r10 [orig:135 pStack ] [135]) (reg:DI 0 ax [orig:136 D.31215 ] [136]))) (set (mem:BLK (reg/f:DI 40 r11 [orig:134 stack ] [134]) [0 A64]) (mem:BLK (reg/f:DI 39 r10 [orig:135 pStack ] [135]) [0 A64])) (use (reg:DI 0 ax [orig:136 D.31215 ] [136])) (use (reg:SI 19 dirflag)) ]) 707 {*rep_movqi_rex64} (nil) (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ] [135]) (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack ] [134]) (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136 D.31215 ] [136]) (expr_list:REG_DEAD (reg:SI 19 dirflag) (expr_list:REG_UNUSED (reg/f:DI 39 r10 [orig:135 pStack ] [135]) (expr_list:REG_UNUSED (reg/f:DI 40 r11 [orig:134 stack ] [134]) (expr_list:REG_UNUSED (reg:DI 0 ax [orig:136 D.31215 ] [136]) (nil))))))))) /home/doko/gcj/openoffice.org-2.1/ooo-build/build/current/bridges/source/cpp_uno/gcc3_linux_x86-64/uno2cpp.cxx:198: confused by earlier errors, bailing out -- Summary: [4.1 regression] unable to find a register to spill in class 'CREG' Product: gcc Version: 4.1.2 Status: UNCONFIRMED Severity: major Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: debian-gcc at lists dot debian dot org GCC target triplet: x86_64-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=30919