This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/28367] accessing via union on a vector does not cause vec_extract to be used
- From: "rguenth at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 16 Mar 2011 11:41:04 +0000
- Subject: [Bug middle-end/28367] accessing via union on a vector does not cause vec_extract to be used
- Auto-submitted: auto-generated
- References: <bug-28367-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=28367
Richard Guenther <rguenth at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |ASSIGNED
AssignedTo|unassigned at gcc dot |rguenth at gcc dot gnu.org
|gnu.org |
--- Comment #5 from Richard Guenther <rguenth at gcc dot gnu.org> 2011-03-16 11:41:03 UTC ---
comment #1 is fixed, the original problem persists. optimized dump:
;; Function f (f)
f (vector(4) float t)
{
union
{
vector(4) float t1;
float t2[4];
} t5;
float D.2687;
<bb 2>:
t5.t1 = t_1(D);
D.2687_2 = t5.t2[0];
return D.2687_2;
}
FRE does not know how to handle different sizes in its support for
type-punning stores/loads (visit_reference_op_load).
Mine.