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

--- Comment #2 from Marc Glisse <glisse at gcc dot gnu.org> ---
The main difficulty is deciding when this transformation is a good idea. A
priori a<b&&a<c can be faster than a<min(b,c). Good cases:
- if there is a min insn (like minsd for double on x86_64, but that might
require finite-math-only);
- if we are in a loop and b and c are invariants (not sure ifcombine is the
right place for that).

Or do we want to do the transformation always, and maybe have something later
(in RTL?) to undo it if it didn't help?

Note that in some experiments with more meat in the loop, having i<min(n1,n2)
made the compiler not see a dominating i<n1 anymore and it lost some
optimizations.

Reply via email to