You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When induction variable are used outside the loop body, tail folding
by masking mis-compiles, because for users outside of the loop the
final value of the induction is computed separately from the vector
loop.
Fixes#76069Fixes#51677
Configuration:
--target=armv7a-none-eabihf -march=v7-a -mthumb -mfloat-abi=hard -mfpu=neon -O3
In vectorize.c:
var_27 will be set to '1', which is not correct.
The reason is that in BasicBlock for.cond.for.cond.cleanup_crit_edge (pred is middle.block) the arr_14 array is overindexed.
I think that the problem is that tail-fold by masking happens, even though the loop induction variable is used outside of the loop.
vectorize.zip
The text was updated successfully, but these errors were encountered: