This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c/41630] [4.3/4.4 Regression] Optimization error on vectors of uint64_t
- From: "rguenth 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 Oct 2009 14:52:06 -0000
- Subject: [Bug c/41630] [4.3/4.4 Regression] Optimization error on vectors of uint64_t
- References: <bug-41630-18290@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #4 from rguenth at gcc dot gnu dot org 2009-10-08 14:52 -------
Simplified testcase, fails at -O1. Likely an aliasing issue, but I didn't
yet fully investigate (nor ruled out a non-conforming testcase - though
TBAA is out of the question here):
typedef unsigned long obj[1];
extern void abort (void);
static void test_level2(obj X[])
{
if (*X[0] != 12345
|| *X[1] != 67890)
abort ();
}
static void test_level1(obj x0, obj x1)
{
obj X[2];
X[0][0] = x0[0];
X[1][0] = x1[0];
if (*x0 != 12345
|| *x1 != 67890)
abort ();
test_level2 (X);
}
int main()
{
obj X[2];
*X[0] = 12345;
*X[1] = 67890;
test_level1(X[0], X[1]);
return 0;
}
--
rguenth at gcc dot gnu dot org changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |rguenth at gcc dot gnu dot
| |org
Status|UNCONFIRMED |NEW
Ever Confirmed|0 |1
Keywords| |wrong-code
Known to fail| |4.3.4 4.4.1
Known to work| |4.2.4 4.5.0
Last reconfirmed|0000-00-00 00:00:00 |2009-10-08 14:52:06
date| |
Summary|Optimization error on |[4.3/4.4 Regression]
|vectors of uint64_t |Optimization error on
| |vectors of uint64_t
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41630