This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]