[Bug middle-end/99394] s254 benchmark of TSVC is vectorized by clang and not by gcc
hubicka at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 4 23:29:19 GMT 2021
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99394
--- Comment #1 from Jan Hubicka <hubicka at gcc dot gnu.org> ---
Here we fail with:
tsvc.c:1526:27: note: vect_is_simple_use: operand x_30 = PHI <_2(8),
x_18(3)>, type of def: unknown
tsvc.c:1526:27: missed: Unsupported pattern.
tsvc.c:1527:26: missed: not vectorized: unsupported use in stmt.
tsvc.c:1526:27: missed: unexpected pattern.
{
int i;
int nl;
real_t x;
static const char __func__[5] = "s254";
struct timeval * _1;
float _2;
float _3;
float _4;
struct timeval * _5;
real_t _17;
unsigned int ivtmp_27;
unsigned int ivtmp_28;
unsigned int ivtmp_29;
unsigned int ivtmp_35;
<bb 2> [local count: 108459]:
initialise_arrays (&__func__);
_1 = &func_args_13(D)->t1;
gettimeofday (_1, 0B);
<bb 3> [local count: 10737416]:
# nl_31 = PHI <nl_20(7), 0(2)>
# ivtmp_28 = PHI <ivtmp_27(7), 400000(2)>
x_18 = b[31999];
<bb 4> [local count: 1063004409]:
# x_30 = PHI <_2(8), x_18(3)>
# i_32 = PHI <i_22(8), 0(3)>
# ivtmp_35 = PHI <ivtmp_29(8), 32000(3)>
_2 = b[i_32];
_3 = _2 + x_30;
_4 = _3 * 5.0e-1;
a[i_32] = _4;
i_22 = i_32 + 1;
ivtmp_29 = ivtmp_35 - 1;
if (ivtmp_29 != 0)
goto <bb 8>; [98.99%]
else
goto <bb 5>; [1.01%]
<bb 8> [local count: 1052266996]:
goto <bb 4>; [100.00%]
....
More information about the Gcc-bugs
mailing list