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: towards reduction part 3/n: what does vec lower pass do to vector shifts?


On Sun, Jun 19, 2005 at 11:46:52PM +0300, Dorit Naishlos wrote:
> The thought was to supply an API that would let the vectorizer ask for the
> minimal capability it needs - if all we need is a vector shift of a
> constant value in bytes, lets ask exactly for that, so that targets that
> don't support non-constant shifts, or that support only byte shifts, could
> also enjoy this feature.

Hmm.  In theory we could get this information out of the predicates
on the expander, but it wouldn't be very clean.

> A general vector shift that can take both constant and non-constant counts
> is indeed more general, and maybe what we prefer to have at the tree level.
> In this case, targets that can't tell the vectorizer that they can support
> general vector shifts, but could have told the vectorizer that they support
> an immediate vector shift, will just have to implement the REDUC_OP
> directly (using immediate vector shifts) in their machine description.

At present I believe that most targets implement general shifts.  Lets
just go with that for now.  As you say -- there's always a fallback
option available.


r~


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