This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug middle-end/34006] [4.2 only] vectorization with 64-bit integers
- From: "fxcoudert at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 8 Nov 2007 14:04:27 -0000
- Subject: [Bug middle-end/34006] [4.2 only] vectorization with 64-bit integers
- References: <bug-34006-1492@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #3 from fxcoudert at gcc dot gnu dot org 2007-11-08 14:04 -------
Testcase that doesn't require -fdefault-integer-8:
$ cat a.f90
program test
integer(kind=8) nvec(10), ivec(10), nclass
integer i
nvec(:)= 1
ivec(:) = 0
call zbase(nvec,ivec,10)
write(*,'(10I3)') ivec
end
subroutine zbase(nvec,ivec,nclass)
integer(kind=8) nvec(10), ivec(10), iclass
integer nclass
do iclass = 2,nclass
ivec(iclass) = ivec(iclass-1)+nvec(iclass-1)
end do
end
$ gfortran-4.2.2 -O1 a.f90 && ./a.out
0 1 2 3 4 5 6 7 8 9
$ gfortran-4.2.2 -O1 -ftree-vectorize a.f90 && ./a.out
0 1 2 1 2 1 2 1 2 1
I can't make a C testcase out of this, but I really think that the code emitted
by the front-end is fine, thus I'm recategorizing this as middle-end.
Also: on my x86_64-linux, it works fine for 4.1.2.
--
fxcoudert at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |fxcoudert at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Component|fortran |middle-end
Ever Confirmed|0 |1
GCC host triplet|Linux_x86-64 CentOS |
GCC target triplet| |x86_64-linux
Keywords| |wrong-code
Known to fail| |4.2.2
Known to work| |4.3.0
Last reconfirmed|0000-00-00 00:00:00 |2007-11-08 14:04:26
date| |
Summary|vectorization with 64-bit |[4.2 only] vectorization
|integers |with 64-bit integers
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34006