Correction régression loop_versioning_6.f90

This commit is contained in:
Mikael Morin 2025-10-06 15:27:49 +02:00
parent 44ae61adef
commit a83725c053
1 changed files with 6 additions and 2 deletions

View File

@ -1063,8 +1063,12 @@ loop_versioning::analyze_stride (address_info &address,
- the stride is an SSA name that is invariant in STMT's loop,
since otherwise versioning isn't possible. */
if (term.versioning_value == NULL_TREE)
term.versioning_value = build_int_cst (TREE_TYPE (stride),
address.type_size / term.multiplier);
{
term.versioning_value = build_int_cst (TREE_TYPE (stride),
address.type_size / term.multiplier);
if (integer_zerop (term.versioning_value))
term.versioning_value = build_one_cst (TREE_TYPE (stride));
}
unsigned HOST_WIDE_INT access_size = address.max_offset - address.min_offset;
unsigned HOST_WIDE_INT final_stride;
if (acceptable_multiplier_p (term.versioning_value, term.multiplier,