This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/36054] bad code generation with -ftree-vectorize
- From: "ubizjak at gmail dot com" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 30 Apr 2008 12:31:50 -0000
- Subject: [Bug tree-optimization/36054] bad code generation with -ftree-vectorize
- References: <bug-36054-12873@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #10 from ubizjak at gmail dot com 2008-04-30 12:31 -------
(In reply to comment #7)
> > -m32?
>
> Better, but a bunch of 45 errors like below remained.
>
> % g++ -g -O3 -march=core2 -mfpmath=sse -msse -ftemplate-depth-4096
> -Wnon-virtual-dtor -fPIC kernel_build.ii > log 2>&1
>
> /usr/lib/gcc/i486-linux-gnu/4.3.1/include/mmintrin.h: In function
> вЂint __vector__ _mm_add_si64(int __vector__, int
> __vector__)�:
> /usr/lib/gcc/i486-linux-gnu/4.3.1/include/mmintrin.h:312: error: cannot convert
> вЂlong long intвЂ? to вЂlong long int
> __vector__вЂ? for argument вЂ1вЂ? to
> вЂlong long int __vector__ __builtin_ia32_paddq(long long int
> __vector__, long long int __vector__)�
Just remove these functions (64bit MMX arithmetic and MMX shift builtins) from
the file. You are compiling with 4.4 that has changed these intrinsic functions
(and relevant builtins). The mismatch is created since this preprocessed source
includes old (4.3.1) headers.
Anyway, I can't check if 4.4 generates correct code since the test isn't
executable. For a runtime problems, executable test is needed, and since the
failure happens in Environment function, only this function should be present
in the executable.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=36054