This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]