Hi,
We have a '{2,2}' expression (vector initializer) propagated by dom into a
BIT_FIELD_REF, which fails verify_stmts. We want BIT_FIELD_REF to be folded
to a constant or the propagation not done. The proper folding doesn't
take place because for the case of BIT_FIELD_REF fold_ternary folds only if
operand 0 is a VECTOR_CST. In our case it's a CONSTRUCTOR. This patch makes
fold_ternary consider the case that operand 0 of a BIT_FIELD_REF is a
CONSTRUCTOR.
Passed bootstrap with vectorization enabled on powerpc64-linux, and the
vectorizer testcases.
Passed partial bootstrap (c,c++) on i386-linux, and the vectorizer
testcases.
Thanks to Richard Guenther for the very helpful hints,
Ok for mainline once passes full regression testing?