https://gcc.gnu.org/bugzilla/show_bug.cgi?id=64746
Bug ID: 64746 Summary: Loop with nested load/stores is not vectorized using aggressive if-conversion. Product: gcc Version: 5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: ysrumyan at gmail dot com Attached simple test-case extracted from important suite is not vectorized even if 'pragma omp simd' is used since ifcvt_repair_bool_pattern does not remove all multiple uses and we get the following message: test.c:11:14: note: bit-precision arithmetic not supported. test.c:11:14: note: not vectorized: relevant stmt not supported: _ifc__90 = x1_7 >= 0; The problem is that statement splitting may introduce other multiple predicate uses and iterative algorithm should be used. I attached simple fix which cures the problem.