[Bug c/41630] New: Optimization error on vectors of uint64_t

2009-10-08 Thread emanuele dot cesena at gmail dot com
System.
Fedora 11 - Linux 2.6.30.8-64.fc11.x86_64 #1 SMP
gcc-4.4.1, Release: 2.fc11 (Fedora's package)


Problem in short.
definitions:
  typedef uint64_t obj[1];
obj x0, x1, X[2];
then the following code doesn't work:
  X[0][0] = x0[0];
  X[1][0] = x1[0];
while this works:
  *X[0] = *x0;
  *X[1] = *x1;
(As far as I know these are equivalent).
Problem only with -O3 and 64-bit code.
Works perfectly at least with gcc34, -O2 and/or 32-bit code.


Detailed information.

The program gcc-bug.c compiled as
  gcc -Wall -O3 -o gcc-bug gcc-bug.c
produce the following (wrong) output:
(1) x0 = 12345
(1) x1 = 67890
(2) x0 = 12345
(2) x1 = 4195296
instead of the correct one:
(1) x0 = 12345
(1) x1 = 67890
(2) x0 = 12345
(2) x1 = 67890

In attachment gcc-bug.c and gcc-bug.i, generated with -v -save-temps.


-- 
   Summary: Optimization error on vectors of uint64_t
   Product: gcc
   Version: 4.4.1
Status: UNCONFIRMED
  Severity: normal
  Priority: P3
 Component: c
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: emanuele dot cesena at gmail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41630



[Bug c/41630] Optimization error on vectors of uint64_t

2009-10-08 Thread emanuele dot cesena at gmail dot com


--- Comment #1 from emanuele dot cesena at gmail dot com  2009-10-08 13:50 
---
Created an attachment (id=18750)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18750&action=view)
source


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41630



[Bug c/41630] Optimization error on vectors of uint64_t

2009-10-08 Thread emanuele dot cesena at gmail dot com


--- Comment #2 from emanuele dot cesena at gmail dot com  2009-10-08 13:51 
---
Created an attachment (id=18751)
 --> (http://gcc.gnu.org/bugzilla/attachment.cgi?id=18751&action=view)
preprocessed file


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41630