Support for add overflow instructions

SAddO is for signed add overflow which is implemented by sign extending
the two operands and computing the result. Truncate the result to width-1
to find the actual sum and check if the MSB of the extended sum is 0 or
1 to find if the overflow flag is set or not.

Likewise, UAddO is for Unsigned add overflow, which differs from SAddO
in one way that here operands are zero extended.