[Bug tree-optimization/35642] [4.4 Regression] heisenbug in tree vectorizer

irar at il dot ibm dot com gcc-bugzilla@gcc.gnu.org
Sun Jul 6 11:55:00 GMT 2008



------- Comment #14 from irar at il dot ibm dot com  2008-07-06 11:54 -------
All those failures occur because vector multiplication of shorts to shorts is
not supported on power. Paolo's patch changed the order of type conversion and
multiplication, and removed type conversions. 

All those loops contain multiplication either of type short = short * constant
or short = int * constant. For the first case we used to have conversion to
int, multiplication, and conversion to short, and now there are no type
conversions. For the second case, before the patch there was first
multiplication of ints and then the result was converted to short, and now the
conversion to short comes first and then there is multiplication of shorts. In
other words, before Paolo's patch those loops contained multiplications of ints
(supported) and now they contain multiplications of shorts (not supported).

As for the heisenbug, first of all, the failures occur with and without
bootstrap. Also Victor tried to reproduced the behavior that Kenny described in
comment #3 (on the same revision and the same configuration), but he saw the
failures with a bootstrapped version too. I.e., we can't reproduce the random
behavior - the failures are deterministic and well understood.

I suggest to open a missed-optimization PR for vector multiplication of shorts
to shorts (seems easy to fix), to xfail the tests, and to close this PR.

Ira


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35642



More information about the Gcc-bugs mailing list