Skip to content

[clang][LoopVectorize] Inccorrect code generation in case of vectorize_predicate(enable) #76069

@futog

Description

@futog

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions