https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117805
--- Comment #10 from Richard Biener <rguenth at gcc dot gnu.org> --- Note with a patch like in comment#4 you'd get different answers for complex * { a, -0.} and complex * { a, b } with b being -0., that might be undesirable. The question is how the Frontend presents us with a complex times real multiplication (I think GENERIC requires two complex operands), and thus whether the desired optimization would have to take place in the frontend to avoid the above consistency issue.