However, when compiling with -ftree-vectorize command-line option, there
are cases of COND_EXPR nodes generated and not gimplified (in the sense
of my previous sentence).
An example of this is gcc.dg/tree-ssa/pr23115.c from the testsuite, when
compiled with '-O2 -ftree-vectorize'.
Is it a known issue or is just my assumption about the restriction of
COND_EXPRs in GIMPLE wrong?
These are produced by if-conversion. The vectorizer might then take
them and convert them to VEC_COND_EXPR (which are the only case in which
vector-type comparison operators are allowed -- this is about the
semantics, not the grammar). But if the loop is not vectorized, the
COND_EXPR remains.
Paolo