[Bug target/105197] New: [12 Regression] SVE: wrong code with -O -ftree-vectorize
acoplan at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Apr 7 16:59:27 GMT 2022
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105197
Bug ID: 105197
Summary: [12 Regression] SVE: wrong code with -O
-ftree-vectorize
Product: gcc
Version: 12.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: target
Assignee: unassigned at gcc dot gnu.org
Reporter: acoplan at gcc dot gnu.org
Target Milestone: ---
The following C code:
unsigned char arr_7[9][3];
unsigned char (*main_arr_7)[3] = arr_7;
int main() {
char arr_2[9];
int arr_6[9];
int x;
unsigned i;
for (i = 0; i < 9; ++i) {
arr_2[i] = 21;
arr_6[i] = 6;
}
for (i = arr_2[8] - 21; i < 2; i++)
x = arr_6[i] ? (main_arr_7[8][i] ? main_arr_7[8][i] : 8) : (char)arr_6[i];
if (x != 8)
__builtin_abort ();
}
appears to be miscompiled with -march=armv8.2-a+sve -O -ftree-vectorize. The
issue doesn't seem to occur with GCC 11.
More information about the Gcc-bugs
mailing list