On 12/01/2015 02:43 PM, Richard Sandiford wrote:
I don't think what you say is an argument that the approach is wrong.
The C conditions for optabs have always been more restricted than
other define_expands and define_insns, since they cannot refer
to operands.  When caching of optabs was added, they also lost
the ability to test for size/speed choices.  There have also
always been optabs that are not allowed to FAIL (such as moves,
get_thread_pointer, widening multiplication, vec_cond, etc.).
This series is extending that list, but it's in the spirit
of restrictions that have always existed.  I don't see that
that's an argument that the approach is wrong.

Ok, you can of course change the rules, but that means the following needs to be done as a minimum (and it should have been done initially):
 * the new rules must be documented
 * all existing expanders need to be examined to see whether they
   comply.

At the moment we don't know how widespread the problem is. If you're willing to do the audit of all ports then I'd be more willing to consider this suitable for gcc-6.


Bernd

Reply via email to