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: "pinskia 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:23:31 -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 #31 from pinskia at gmail dot com 2008-03-20 00:23 -------
Subject: Re: compiled trivial vector intrinsic code is inefficient
See pr 33790.
Sent from my iPhone
On Mar 19, 2008, at 17:04, "ubizjak at gmail dot com" <gcc-bugzilla@gcc.gnu.org
> wrote:
>
>
> ------- 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
>
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552