https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104121
--- Comment #10 from Alexandre Oliva <aoliva at gcc dot gnu.org> --- and then, as I reduced it myself down to the following and compared with the minimized test, I've finally turned on both of my neurons ;-) and it finally hit me: "only with -mv850e2v3" didn't mean "not with other multilibs", but rather "without any optimization". of course, none of the minimized test would survive with optimization. doh! this one triggers with -O2 -g -mv850e2v3: typedef float DFtype __attribute__ ((mode (DF))); typedef _Complex float DCtype __attribute__ ((mode (DC))); DCtype __muldc3 (DFtype a, DFtype b, DFtype c, DFtype d) { DFtype x = __builtin_huge_val () * (a * c - b * d); DFtype y = __builtin_huge_val () * (a * d + b * c); DCtype res; __real__ res = x; __imag__ res = y; return res; }