[Bug tree-optimization/18503] _mm_move_ss SSE intrinsic causes erroneous
torgeihe at stud dot ntnu dot no
gcc-bugzilla@gcc.gnu.org
Mon Nov 15 16:26:00 GMT 2004
------- Additional Comments From torgeihe at stud dot ntnu dot no 2004-11-15 16:26 -------
Subject: Re: _mm_move_ss SSE intrinsic causes
erroneous
pinskia at gcc dot gnu dot org wrote:
> ------- Additional Comments From pinskia at gcc dot gnu dot org 2004-11-15 15:47 -------
> No you are reading the asm backwards, the corresponding intel asm is:
> bug: subss %xmm0, %xmm1
> ret
>
> Which you can get with -masm=intel.
>
Yes, I know AT&T syntax is backwards compared to Intel, have I
misinterpreted the intrinsics or resulting code somehow? To be more
clear, I expected the C function to return the following vector:
v0 = a0
v1 = a1 - b1
v2 = a2 - b2
v3 = a3 - b3
Instead it seems to return:
v0 = a0 - b0
v1 = a1
v2 = a2
v3 = a3
_mm_move_ss should the three upper values from its first argument, and
the lower from its second, no?
Torgeir
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18503
More information about the Gcc-bugs
mailing list