This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: auto vectorization in gcc
- From: David Edelsohn <dje at watson dot ibm dot com>
- To: Daniel Berlin <dberlin at dberlin dot org>
- Cc: Richard Henderson <rth at redhat dot com>, Dorit Naishlos <DORIT at il dot ibm dot com>, gcc at gcc dot gnu dot org, Diego Novillo <dnovillo at redhat dot com>
- Date: Thu, 17 Jul 2003 14:15:37 -0400
- Subject: Re: auto vectorization in gcc
>>>>> Daniel Berlin writes:
Dan> Especially since it's a matter of just making tree nodes with a vector
Dan> type, and performing standard tree ops on them.
Dan> IE PLUS_EXPR of two trees with types of V4SF_type_node should work just
Dan> fine, and convert to the right vector RTL.
Dan> If it doesn't, we should make it work.
I believe part of the concern is alignment issues. If the code
was not originally written with vector types, we cannot guarantee that
objects will have the appropriate alignment for SIMD instructions. We may
not know this until the storage layout occurs during RTL generation. Once
we have committed to auto-vectorization in the trees and possible skipped
some scalar loop optimizations, how do we roll back once we determine that
the SIMD instructions cannot be generated efficiently?
The issue isn't that we *have to* do auto-vectorization in RTL,
but how do we deal with reality intervening at later compilation stages?
David