--- Comment #23 from mahatma at eu dot by 2009-08-10 17:48 ---
(In reply to comment #17)
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129764
Log:
PR tree-optimization/32893
* tree-vectorize.c (vect_can_force_dr_alignment_p): Check
STACK_BOUNDARY
--- Comment #22 from hjl dot tools at gmail dot com 2009-08-06 16:46
---
*** Bug 40985 has been marked as a duplicate of this bug. ***
--
hjl dot tools at gmail dot com changed:
What|Removed |Added
--- Comment #21 from hjl dot tools at gmail dot com 2008-02-07 22:15
---
The real problem is i386 gcc expects 16 byte stack boundary while the
psABI specifies 4 byte. When you link a callee, which expects incoming
stack at 16 byte boundary, with a caller, which only guarantees 4 byte
--- Comment #20 from hjl dot tools at gmail dot com 2008-02-07 00:04
---
FYI, stack alignment branch will look like
if (TREE_STATIC (decl))
return (alignment = MAX_OFILE_ALIGNMENT);
else if (MAX_VECTORIZE_STACK_ALIGNMENT)
{
gcc_assert
--- Comment #19 from dorit at gcc dot gnu dot org 2008-01-28 13:20 ---
Fixed?
In a way, yes. The problem is avoided by generating too conservative code.
AFAIU, a better solution may be expected in 4.4 from the stack alignment
branch. In any case this segfault PR can be closed, and
--- Comment #18 from rguenth at gcc dot gnu dot org 2008-01-25 23:44
---
Fixed?
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32893
--- Comment #17 from dorit at gcc dot gnu dot org 2007-10-30 05:25 ---
Subject: Bug 32893
Author: dorit
Date: Tue Oct 30 05:25:10 2007
New Revision: 129764
URL: http://gcc.gnu.org/viewcvs?root=gccview=revrev=129764
Log:
PR tree-optimization/32893
* tree-vectorize.c
--- Comment #16 from dorit at gcc dot gnu dot org 2007-10-03 18:52 ---
Ryan, thanks a lot for the info. FYI, I started a discussion about this here:
http://gcc.gnu.org/ml/gcc-patches/2007-10/msg00202.html
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32893
--- Comment #14 from dirtyepic at gentoo dot org 2007-09-23 05:59 ---
Created an attachment (id=14246)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14246action=view)
inftrees.c
this is the testcase from bug #25413. with -O2 -msse2 -ftree-vectorize, i get
this in gcc-4.2.0:
--- Comment #15 from dirtyepic at gentoo dot org 2007-09-23 06:23 ---
i should also mention that the zlib testsuite doesn't trigger this bug for some
reason. many other applications that link with zlib are also unaffected. some
that are include
--- Comment #12 from ubizjak at gmail dot com 2007-09-22 10:26 ---
(In reply to comment #10)
Created an attachment (id=14228)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14228action=view) [edit]
zlib testcase(zlib's inftrees.c)
Sorry, I can't reproduce the segfault with
--- Comment #13 from jigorou3 at mail dot goo dot ne dot jp 2007-09-22
11:28 ---
(In reply to comment #12)
Hmm..., but in my environment, some applications always segfaults at zlib which
was built with -O -msse -ftree-vectorize.
I'm sorry, but now I recognize that I don't have enough
--- Comment #8 from ubizjak at gmail dot com 2007-09-20 06:49 ---
I can't confirm the failure (make check from zlib works OK for me), but there
is some suspicious code in inflate_fast(). When compiling (to be attached)
preprocessed testcase (using -O2 -msse2 -ftree-vectorize on i686), I
--- Comment #9 from ubizjak at gmail dot com 2007-09-20 06:51 ---
Created an attachment (id=14226)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14226action=view)
Preprocessed inffast.c. Compile with -O2 -msse2 -ftree-vectorize
--
--- Comment #10 from jigorou3 at mail dot goo dot ne dot jp 2007-09-20
10:43 ---
Created an attachment (id=14228)
-- (http://gcc.gnu.org/bugzilla/attachment.cgi?id=14228action=view)
zlib testcase(zlib's inftrees.c)
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32893
--- Comment #11 from ubizjak at gmail dot com 2007-09-20 11:58 ---
I hope that following testcase can be of some use to somebody...
--cut here--
void __attribute__((noinline))
inflate_fast (unsigned char *from, unsigned char *out, unsigned int len)
{
while (len 2)
{
--- Comment #7 from dorit at gcc dot gnu dot org 2007-09-19 14:28 ---
(In reply to comment #6)
It looks like
zlib compiled w/ -O -msse -ftree-vectorize (built with fedora's rpm package
gcc-4.1.2-17)
has same problem.
In my environment, rpm-4.4.2.1-7.fc8 and seamonkey-1.1.3-6.fc8
--- Comment #6 from jigorou3 at mail dot goo dot ne dot jp 2007-08-14
17:46 ---
It looks like
zlib compiled w/ -O -msse -ftree-vectorize (built with fedora's rpm package
gcc-4.1.2-17)
has same problem.
In my environment, rpm-4.4.2.1-7.fc8 and seamonkey-1.1.3-6.fc8 segfault like
--- Comment #5 from dorit at gcc dot gnu dot org 2007-08-01 11:57 ---
Ryan, I wonder what happens if you force alignment in the source code, like so:
unsigned short count[MAXBITS+1] __attribute__ ((__aligned__(16))) ;
In this case the vectorizer does not change the alignment of
--- Comment #4 from dorit at gcc dot gnu dot org 2007-08-01 11:36 ---
Also just for the record - the testcase for this PR is here:
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25413#c14
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32893
--- Comment #3 from dorit at gcc dot gnu dot org 2007-07-28 21:03 ---
(In reply to comment #2)
Andrew, makes sense to you?
I think my patch only checks PREFERRED_STACK_BOUNDARY and not STACK_BOUNDARY
which is why it does not work but I have not looked into it at all.
I see
--- Comment #2 from pinskia at gcc dot gnu dot org 2007-07-25 20:45 ---
Andrew, makes sense to you?
I think my patch only checks PREFERRED_STACK_BOUNDARY and not STACK_BOUNDARY
which is why it does not work but I have not looked into it at all.
--
pinskia at gcc dot gnu dot org
--- Comment #1 from dorit at gcc dot gnu dot org 2007-07-25 20:43 ---
thanks a lot for checking both patches!
With this patch zlib appears to compile successfully. The loop is
vectorized with an alignment of access forced using peeling note and linked
apps no longer segfault.
I'd
23 matches
Mail list logo