------- Comment #7 from pinskia at gcc dot gnu dot org 2007-10-09 17:59 ------- I get: sincostmp.5 = __builtin_cexpi (phi); REALPART_EXPR <<retval>> = REALPART_EXPR <sincostmp.5>; IMAGPART_EXPR <<retval>> = IMAGPART_EXPR <sincostmp.5>; return <retval>;
Which is created after the sincos pass as: sincostmp.5_7 = __builtin_cexpi (phi_1(D)); D.1522_2 = REALPART_EXPR <sincostmp.5_7>; D.1524_4 = IMAGPART_EXPR <sincostmp.5_7>; REALPART_EXPR <<retval>> = D.1522_2; IMAGPART_EXPR <<retval>> = D.1524_4; Which we don't recombine the real/img parts into just one assignment. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32684