Hi, This patch fixes pr59651. The original regression for pr52943 only appears on AArch64 target. I constructed a similar test that also exposes bug on x86-64. The problem is that calculation of address range in alias versioning for loops with negative step is wrong during vectorization. For example, for a loop that access int a[3] -> a[1], the old calculated address range is [a, a+12). It should be [a+4, a+16) instead.
Bootstrapped and passed testsuite on x86-64. Get confirmed by original reporter that regression is fixed on AArch64. OK to commit? Thanks, Bingfeng
patch_pr59651
Description: patch_pr59651