[Bug tree-optimization/103523] [11/12 Regression] vectorizable_induction generating code for modes without checking support for them by r11-7861-ge4180ab2f
cvs-commit at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Fri Dec 10 10:28:29 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=103523
--- Comment #7 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by Joel Hutton <joelh@gcc.gnu.org>:
https://gcc.gnu.org/g:a5f65cf7ad640ae398eba7a45c712322ce841809
commit r12-5889-ga5f65cf7ad640ae398eba7a45c712322ce841809
Author: Joel Hutton <joel.hutton@arm.com>
Date: Fri Dec 10 10:26:42 2021 +0000
pr103523: Check for PLUS/MINUS support
Check for PLUS_EXPR/MINUS_EXPR support in vectorizable_induction.
PR103523 is an ICE on valid code:
void d(float *a, float b, int c) {
float e;
for (; c; c--, e += b)
a[c] = e;
}
This is due to not checking for PLUS_EXPR support, which is missing in
VNx2sf mode. This causes an ICE at expand time. This patch adds a check
for support in vectorizable_induction.
gcc/ChangeLog:
PR tree-optimization/103523
* tree-vect-loop.c (vectorizable_induction): Check for
PLUS_EXPR/MINUS_EXPR support.
gcc/testsuite/ChangeLog:
* gcc.target/aarch64/pr103523.c: New test.
More information about the Gcc-bugs
mailing list