[PATCH V14] VECT: Add decrement IV iteration loop control by variable amount support
Richard Sandiford
richard.sandiford@arm.com
Wed May 24 15:47:06 GMT 2023
钟居哲 <juzhe.zhong@rivai.ai> writes:
> Hi, Richard. I still don't understand it. Sorry about that.
>
>>> loop_len_48 = MIN_EXPR <loop_len_34 * 2, 4>;
> >> _74 = loop_len_34 * 2 - loop_len_48;
>
> I have the tests already tested.
> We have a MIN_EXPR to calculate the total elements:
> loop_len_34 = MIN_EXPR <ivtmp_72, 8>;
> I think "8" is already multiplied by 2?
>
> Why do we need loop_len_34 * 2 ?
> Could you give me more informations, The similiar tests you present we already have
> execution check and passed. I am not sure whether this patch has the issue that I didn't notice.
Think about the maximum values of each SSA name:
loop_len_34 = MIN_EXPR <ivtmp_72, 8>; // MAX 8
loop_len_48 = MIN_EXPR <loop_len_34, 4>; // MAX 4
_74 = loop_len_34 - loop_len_48; // MAX 4
loop_len_49 = MIN_EXPR <_74, 4>; // MAX 4 (always == _74)
_75 = _74 - loop_len_49; // 0
loop_len_50 = MIN_EXPR <_75, 4>; // 0
loop_len_51 = _75 - loop_len_50; // 0
So the final two y vectors will always have 0 controls.
Thanks,
Richard
More information about the Gcc-patches
mailing list