> What's the point of the second define insn? The first insn seems to > take us from expansion to asm generation so I can't see where the > second one will come into play except in an expansion after reload > but that doesn't happen, right?
IIRC it has to do with optimizing away compare instructions. Which pattern you need depends on whether the flags will get used by a conditional branch or not.