https://gcc.gnu.org/bugzilla/show_bug.cgi?id=115710
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- I wonder if we could also add: +/* cabs(x+0i) or cabs(0+xi) -> abs(x). */ +(simplify + (CABS (complex:c @0 real_zerop@1)) + (abs @0)) + /* cabs(x+xi) -> fabs(x)*sqrt(2). */ + (simplify + (CABS (complex @0 @0)) + (mult (abs @0) { build_real_truncate (type, dconst_sqrt2 ()); }))) to the lowering part. let me look into doing that but it will be 3rd part to the patch series. Since we should have this info already ...