On Mon, Nov 9, 2015 at 2:54 PM, Ilya Enkovich <enkovich....@gmail.com> wrote:
> 2015-10-20 16:45 GMT+03:00 Richard Biener <richard.guent...@gmail.com>:
>> On Wed, Oct 14, 2015 at 1:21 PM, Ilya Enkovich <enkovich....@gmail.com> 
>> wrote:
>>> 2015-10-13 16:37 GMT+03:00 Richard Biener <richard.guent...@gmail.com>:
>>>> On Thu, Oct 8, 2015 at 4:59 PM, Ilya Enkovich <enkovich....@gmail.com> 
>>>> wrote:
>>>>> Hi,
>>>>>
>>>>> This patch handles statements with boolean result in vectorization factor 
>>>>> computation.  For comparison its operands type is used instead of restult 
>>>>> type to compute VF.  Other boolean statements are ignored for VF.
>>>>>
>>>>> Vectype for comparison is computed using type of compared values.  
>>>>> Computed type is propagated into other boolean operations.
>>>>
>>>> This feels rather ad-hoc, mixing up the existing way of computing
>>>> vector type and VF.  I'd rather have turned the whole
>>>> vector type computation around to the scheme working on the operands
>>>> rather than on the lhs and then searching
>>>> for smaller/larger types on the rhs'.
>>>>
>>>> I know this is a tricky function (heh, but you make it even worse...).
>>>> And it needs a helper with knowledge about operations
>>>> so one can compute the result vector type for an operation on its
>>>> operands.  The seeds should be PHIs (handled like now)
>>>> and loads, and yes, externals need special handling.
>>>>
>>>> Ideally we'd do things in two stages, first compute vector types in a
>>>> less constrained manner (not forcing a single vector size)
>>>> and then in a 2nd run promote to a common size also computing the VF to do 
>>>> that.
>>>
>>> This sounds like a refactoring, not a functional change, right? Also I
>>> don't see a reason to analyze DF to compute vectypes if we promote it
>>> to a single vector size anyway. For booleans we have to do it because
>>> boolean vectors of the same size may have different number of
>>> elements. What is the reason to do it for other types?
>>
>> For conversions and operators which support different sized operands
>
> That's what we handle in vector patterns and use some helper functions
> to determine vectypes there. Looks like this refactoring would affects
> patterns significantly. Probably compute vectypes before searching for
> patterns?
>
>>
>>> Shouldn't it be a patch independent from comparison vectorization series?
>>
>> As you like.
>
> I'd like to move on with vector comparison and consider VF computation
> refactoring when it's stabilized. This patch is the last one (except
> target ones) not approved in all vector comparison related series.
> Would it be OK to go on with it in a current shape?

Yes.

Thanks,
Richard.

> Thanks,
> Ilya

Reply via email to