Joern Rennecke wrote:
Considering the trouble that you get when you try to generate branches in a non-branch expander, we should probably have alternate named patterns to be used in ports to processors that have no conditional trap facility, or where a conditional trap is more expensive than a well predictable conditional branch.
Note that even if this is the case (conditional trap more expensive), it may be appropriate in -Os mode. A one-byte INTO instruction after every add takes less space than conditional jump to trapping code. Of course it is always interesting that less code = less i-cache pressure, and so you get something back for that in practice, YMMV.