emerging app-sci/ghemical-1.00 with SSE enabled on gcc causes compiler error Reproducible: Always Steps to Reproduce: 1. enable SSE optimizations with gcc-3.2 (add flags "-msse -mfpmath=sse") 2. emerge app-sci/ghemical Actual Results: build fails with the following error: gcc -c -march=pentium3 -O3 -pipe -fomit-frame-pointer -mmmx -msse -falign-functions=4 -fforce-addr -fprefetch-loop-arrays -mfpmath=sse -w -O ./consts.c cdiag.c: In function `fm06as_': cdiag.c:626: unable to find a register to spill in class `SSE_REGS' cdiag.c:626: this is the insn: (insn 115 113 132 (set (subreg:SF (reg/v:DI 29 rmm0 [68]) 0) (minus:SF (reg:SF 24 exmm3 [88]) (reg:SF 22 exmm1 [98]))) 547 {*fop_sf_1_sse} (insn_list 112 (insn_list 93 (nil))) (expr_list:REG_DEAD (reg:SF 22 exmm1 [98]) (expr_list:REG_DEAD (reg:SF 24 exmm3 [88]) (nil)))) cdiag.c:626: confused by earlier errors, bailing out make[1]: *** [cdiag.o] Error 1 make[1]: *** Waiting for unfinished jobs.... make[1]: Leaving directory `/var/tmp/portage/ghemical-1.00/work/ghemical-1.00/miniMOPAC' make: *** [all] Error 1 !!! ERROR: app-sci/ghemical-1.00 failed. !!! Function src_compile, Line 23, Exitcode 2 !!! (no error message) Expected Results: Program should have compiled. If I drop the SSE flags from the CFLAGS variable (like taking them out in /etc/make.conf), then the build proceeds properly. I recommend adding "filter-flags -msse -mfpmath=sse" to the ebuild.
I can't reproduce your problem with gcc 3.3.2, so I don't see much sense in filtering a compiler flag that will work fine as soon as 3.3.x goes stable. I tend to say that your problem is just your personal risk of using so special optimization flags. If you can't convince me of the opposite, I'll regard this as WONTFIX. Thanks for reporting, anyway.