The following Fortran testcase exhibits a failure with -O(>=1) -msse: $ cat foo.f90 subroutine yhalf(z) complex cdexpj,z z=cdexpj((0.d0,1.d0)*z) end $ gfortran -c -O3 -msse -mfpmath=sse,387 foo.f90 foo.f90: In function yhalf: foo.f90:3: error: unrecognizable insn: (insn 13 12 14 3 (set (reg:DF 63) (neg:DF (reg:DF 62))) -1 (nil) (nil)) foo.f90:3: internal compiler error: in extract_insn, at recog.c:2077 Please submit a full bug report, with preprocessed source if appropriate. See <URL:http://gcc.gnu.org/bugs.html> for instructions. $ gfortran -c -O3 -msse2 -mfpmath=sse,387 foo.f90 $
-- Summary: ICE on complex operation with -O1 -msse Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: fxcoudert at gcc dot gnu dot org GCC target triplet: i686-pc-linux-gnu http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28158