This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Can't generate a 'movd' instructuction
- From: Ankit Jain <ankitjain1580 at yahoo dot com>
- To: James HAUXWELL <james dot hauxwell at st dot com>, gcc-help at gcc dot gnu dot org
- Date: Sat, 27 Nov 2004 05:25:41 +0000 (GMT)
- Subject: Re: Can't generate a 'movd' instructuction
hi
--- James HAUXWELL <james.hauxwell@st.com> wrote:
> Hi,
>
> I have a piece of code using mmx/sse intrinsics
>
> ta = __builtin_ia32_pmaddwd(ia, one);
> tb = (v2si)__builtin_ia32_psrlq((di)ta, 32);
> dest.__v = __builtin_ia32_paddd(ta, tb);
> satd = dest.__a[0];
>
> At the phase where I move the bottom 32bits of the
> mmx register to a
> normal register
well i have a doubt in this i.e whether this is really
happening or not. because i am also usign gcc compiler
only and movd instrction works. if your things work
let me also know about it
thanks
I should be able to use a movd
> instruction (according to
> intel documentation), but what ever I do I can't
> generate one. It is
> currently generating a movq to a memory loacation
> and then doing a
> shorter load from the same location.
>
> should be something like.
>
> ta = __builtin_ia32_pmaddwd(ia, one);
> tb = (v2si)__builtin_ia32_psrlq((di)ta, 32);
> satd = (int)__builtin_ia32_paddd(ta, tb);
>
> Is anyone familiar enough with intrinsics to know
> why this doesn't work?
>
> Jim
>
________________________________________________________________________
Yahoo! Messenger - Communicate instantly..."Ping"
your friends today! Download Messenger Now
http://uk.messenger.yahoo.com/download/index.html