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: "pluto at agmk dot net" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 21 Nov 2005 18:38:30 -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 #20 from pluto at agmk dot net 2005-11-21 18:38 -------
(In reply to comment #19)
> (In reply to comment #18)
> > can we classify this as a code size regression?
>
> No because 3.3.x was also wrong in the sense it did not emit an emms.
ok.
gcc 4.1.0/20051113 with x87/mmx mode switch patch produces:
test: movq w, %mm0
paddw %mm0, %mm0
movq %mm0, w
movl w, %eax
movl w+4, %edx
movl %eax, dw
movl %edx, dw+4
emms
ret
.comm dw,8,8
.comm w,8,8
it isn't optimal but correct (emms opcode) and smaller than pure 4.1 output.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552