Hello!
I would like to warn rs6000 and SPU maintainers, that vcond patterns can
_not_ FAIL. Please see PR41019 [1] for the proposed fix for x86. The
same problem can be triggered on rs6000 and SPU, it can happen that the
vcond pattern is only partially expanded.
The problem is, that middle end checks only for the existence of the
pattern, not if it can FAIL.
BTW: The documentation says:
--cut here--
`FAIL'
Make the pattern fail on this occasion. When a pattern fails, it
means that the pattern was not truly available. The calling
routines in the compiler will try other strategies for code
generation using other patterns.
Failure is currently supported only for binary (addition,
multiplication, shifting, etc.) and bit-field (`extv', `extzv',
and `insv') operations.
...
--cut here--
[1] http://gcc.gnu.org/bugzilla/show_bug.cgi?id=41019
Uros.