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~