This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/32684] Missed tail call with sin/cos and sincos pass
- From: "pinskia at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 9 Oct 2007 17:59:06 -0000
- Subject: [Bug tree-optimization/32684] Missed tail call with sin/cos and sincos pass
- References: <bug-32684-6528@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- 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