https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115710
Richard Biener <rguenth at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rguenth at gcc dot gnu.org --- Comment #4 from Richard Biener <rguenth at gcc dot gnu.org> --- I think this is a pass ordering issue between complex lowering, forwprop and powcabs. This is also a missed CSE opportunity in PREs VN instance: _5 = REALPART_EXPR <(*a_9(D))[_1]>; _2 = (*a_9(D))[_1]; _4 = IMAGPART_EXPR <(*a_9(D))[_1]>; cabs_11 = REALPART_EXPR <_2>; here the realpart of _2 should have been CSEd to _5. I wonder if we shouldn't do CABS expansion during complex lowering instead? Both are technically to get closer to the target. I'm putting it on my TODO but I don't expect to have cycles to look at any of the above.