This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug target/14552] compiled trivial vector intrinsic code is inefficient
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 20 Mar 2008 00:04:08 -0000
- Subject: [Bug target/14552] compiled trivial vector intrinsic code is inefficient
- References: <bug-14552-4523@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #30 from ubizjak at gmail dot com 2008-03-20 00:04 -------
(In reply to comment #28)
> (In reply to comment #27)
> > The store is not useless. Reload from "_w" is how gcc handles double stores
> > nowadays and is not mmx specific. It looks that some pass forgot to check where
> > the value came from.
>
> Do you happen to know if there are two different modes at work here? If so
> there are patches which fix this up in DSE and post-reload CSE.
Yes, from comment #24 (slightly changed):
typedef short mmxw __attribute__ ((vector_size (8)));
typedef int mmxdw __attribute__ ((vector_size (8)));
mmxdw dw;
mmxw w;
so, we have V4HI and V2SI.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552