This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/44900] [4.5 Regression] The variable of SSE will be broken
- 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: 14 Jul 2010 16:44:54 -0000
- Subject: [Bug tree-optimization/44900] [4.5 Regression] The variable of SSE will be broken
- References: <bug-44900-19344@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #21 from pinskia at gcc dot gnu dot org 2010-07-14 16:44 -------
(In reply to comment #20)
> (In reply to comment #15)
> > I found the similar case with gcc 4.4.4 of MacPorts and gcc 4.4.0 of MinGW.
> I think the code in comment #15 is invalid and voilates C/C++ aliasing rules.
Even if it did not voilate aliasing rules, the IR looks good:
D.4999_70 = VIEW_CONVERT_EXPR<const union u>(D.4995_68).i;
D.4863_25 = VIEW_CONVERT_EXPR<union u>(D.4999_70).e[3];
D.4864_26 = VIEW_CONVERT_EXPR<union u>(D.4999_70).e[2];
D.4865_27 = VIEW_CONVERT_EXPR<union u>(D.4999_70).e[1];
D.4866_28 = VIEW_CONVERT_EXPR<union u>(D.4999_70).e[0];
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44900