[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-04-21 Thread ubizjak at gmail dot com
--- Comment #38 from ubizjak at gmail dot com 2008-04-21 08:21 --- *** Bug 32301 has been marked as a duplicate of this bug. *** -- ubizjak at gmail dot com changed: What|Removed |Added --

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-21 Thread michaelni at gmx dot at
--- Comment #37 from michaelni at gmx dot at 2008-03-22 02:39 --- Subject: Re: compiled trivial vector intrinsic code is inefficient On Fri, Mar 21, 2008 at 10:34:00AM -, ubizjak at gmail dot com wrote: > > > --- Comment #36 from ubizjak at gmail dot com 2008-03-21 1

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-21 Thread ubizjak at gmail dot com
--- Comment #36 from ubizjak at gmail dot com 2008-03-21 10:33 --- (In reply to comment #35) > Also ffmpeg uses almost entirely asm() instead of intrinsics so this alone is > not so much a problem for ffmpeg than it is for others who followed the > recommandition of "intrinsics are bett

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-20 Thread michaelni at gmx dot at
--- Comment #35 from michaelni at gmx dot at 2008-03-20 17:18 --- Subject: Re: compiled trivial vector intrinsic code is inefficient On Thu, Mar 20, 2008 at 09:49:22AM -, ubizjak at gmail dot com wrote: > > > --- Comment #34 from ubizjak at gmail dot com 2008-03-20 0

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-20 Thread ubizjak at gmail dot com
--- Comment #34 from ubizjak at gmail dot com 2008-03-20 09:49 --- (In reply to comment #33) > Anyway iam glad ffmpeg compiles fine under icc. Me to. Now you will troll in their support lists. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread michaelni at gmx dot at
--- Comment #33 from michaelni at gmx dot at 2008-03-20 01:37 --- Subject: Re: compiled trivial vector intrinsic code is inefficient On Wed, Mar 19, 2008 at 11:39:18PM -, uros at gcc dot gnu dot org wrote: > > > --- Comment #26 from uros at gcc dot gnu dot org 2008-0

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread astrange at ithinksw dot com
--- Comment #32 from astrange at ithinksw dot com 2008-03-20 00:39 --- This is missed on trees: mmxdw dw; mmxw w; void test2(){ w= __builtin_ia32_paddw(w,w); w= (mmxdw)w; } void test3(){ mmxw w2= __builtin_ia32_paddw(w,w); dw= (mmxdw)w2; } test2 () { vector short int

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread pinskia at gmail dot com
--- 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" <[EMAIL PROTECTED] > wrote: > > > --- Comment #30 from

Re: [Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread Andrew Pinski
See pr 33790. Sent from my iPhone On Mar 19, 2008, at 17:04, "ubizjak at gmail dot com" <[EMAIL PROTECTED] > 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"

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread ubizjak at gmail dot com
--- 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 > > wher

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread ubizjak at gmail dot com
--- Comment #29 from ubizjak at gmail dot com 2008-03-20 00:01 --- Now we generate: -m32 -mmmx -msse2: test: subl$20, %esp movlw, %eax movlw+4, %edx movl%ebx, 12(%esp) movl%esi, 16(%esp) movl%eax, (%esp) mo

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread pinskia at gcc dot gnu dot org
--- Comment #28 from pinskia at gcc dot gnu dot org 2008-03-19 23:49 --- (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. D

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread ubizjak at gmail dot com
--- Comment #27 from ubizjak at gmail dot com 2008-03-19 23:46 --- (In reply to comment #25) > Actually the first generates- > subl$12, %esp > movq_w, %mm0 > paddw %mm0, %mm0 > movq%mm0, _w > movq_w, %mm0 > movq%mm0, _

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread uros at gcc dot gnu dot org
--- Comment #26 from uros at gcc dot gnu dot org 2008-03-19 23:39 --- Subject: Bug 14552 Author: uros Date: Wed Mar 19 23:38:35 2008 New Revision: 133354 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=133354 Log: PR target/14552 * config/i386/mmx.md (*mov_interna

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread astrange at ithinksw dot com
--- Comment #25 from astrange at ithinksw dot com 2008-03-19 19:39 --- Actually the first generates- subl$12, %esp movq_w, %mm0 paddw %mm0, %mm0 movq%mm0, _w movq_w, %mm0 movq%mm0, _dw addl$12, %esp

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread astrange at ithinksw dot com
--- Comment #24 from astrange at ithinksw dot com 2008-03-19 19:21 --- For typedef short mmxw __attribute__ ((mode(V4HI))); typedef int mmxdw __attribute__ ((mode(V2SI))); mmxdw dw; mmxw w; void test(){ w+=w; dw= (mmxdw)w; } void test2(){ w= __builtin_ia32_paddw(w,w

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-19 Thread ubizjak at gmail dot com
--- Comment #23 from ubizjak at gmail dot com 2008-03-19 10:45 --- As said in PR 19161: The LCM infrastructure doesn't support mode switching in the way that would be usable for emms. Additionally, there are MANY problems expected when sharing x87 and MMX registers (i.e. handling of uni

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2008-03-07 Thread ubizjak at gmail dot com
--- Comment #22 from ubizjak at gmail dot com 2008-03-08 07:29 --- *** Bug 25277 has been marked as a duplicate of this bug. *** -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-30 Thread pluto at agmk dot net
--- Comment #21 from pluto at agmk dot net 2005-12-01 00:52 --- I'm wondering is it possible to implement tranformations of vector arithmetics into vector builtins? e.g. #include __v8qi foo(const __v8qi x, const __v8qi y) { return x + y; } __v8qi bar(const __v8qi x, const __v8qi y) {

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-21 Thread pluto at agmk dot net
--- 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

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-21 Thread pinskia at gcc dot gnu dot org
--- Comment #19 from pinskia at gcc dot gnu dot org 2005-11-21 15:09 --- (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. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14552

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-21 Thread pluto at agmk dot net
--- Comment #18 from pluto at agmk dot net 2005-11-21 15:05 --- gcc-3.3.6 produces better code: test: movqw, %mm1 psllw $1, %mm1 movq%mm1, w movqw, %mm1 movq%mm1, dw ret .comm dw,8,8 .comm w,8,8 can we cl

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-21 Thread pcarlini at suse dot de
--- Comment #17 from pcarlini at suse dot de 2005-11-21 11:34 --- Sorry. -- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|unassigned at gcc dot

[Bug target/14552] compiled trivial vector intrinsic code is inefficient

2005-11-21 Thread pcarlini at suse dot de
-- pcarlini at suse dot de changed: What|Removed |Added AssignedTo|uros at kss-loka dot si |unassigned at gcc dot gnu ||do