This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug tree-optimization/35653] [4.3/4.4 Regression]: gcc-4.3 -O3/-ftree-vectorize regression: incorrect code generation
- From: "victork at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 23 Mar 2008 17:21:16 -0000
- Subject: [Bug tree-optimization/35653] [4.3/4.4 Regression]: gcc-4.3 -O3/-ftree-vectorize regression: incorrect code generation
- References: <bug-35653-15165@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #9 from victork at gcc dot gnu dot org 2008-03-23 17:21 -------
> Accessing the memory as uint32_t is done for performance reasons,
In this particular case you write a 4-byte constant 0x04000400. Changing this
to
a loop running double number of iterations of 2-byte (unsigned short) writes of
0x0400 will enable to vectorizer to handle this loop effectively.
> If the pointer is not aligned at 4 bytes, then uint32_t can't be done?
It can be done on x86, but it is less effective than access to an aligned
pointer.
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35653