> Yes. But it is all the same: neither signed overflow nor unsigned > overflow (of an addition, say) can be described as the result of an > RTL comparison.
I disagree, see for example the implementation of the addvdi4_sp3 pattern (for which we indeed use an UNSPEC) and of the uaddvdi4_sp32 pattern (for which we describe the overflow with a COMPARE) in the SPARC back-end. And that's even simpler for an unsigned subtraction, where we do not need a special CC mode. Sure there is a technical difficulty for unsigned negation because of the canonicalization rules, hence the trick used in the SPARC back-end, but unsigned overflow is much easier to deal with than signed overflow. -- Eric Botcazou