👋 Hey,
While implementing iadd_cout for aarch64 I realized that the output of the carry bit depends on signedness of the operation. If we implement it as unsigned we only signal overflow on 0xFF + 1, and if we implement it as signed we signal overflow on 0x7F + 1
Thus should we rename this operation to sadd_cout to keep consistency with our other operations that depend on signedness (i.e. sdiv/udiv)? The operation seems to be signed based on the existing test suite.
Does the existence of sadd_cout also imply that we should have uadd_cout?
The same question applies for iadd_carry, but not for iadd_cin.
👋 Hey,
While implementing
iadd_coutfor aarch64 I realized that the output of the carry bit depends on signedness of the operation. If we implement it as unsigned we only signal overflow on0xFF+ 1, and if we implement it as signed we signal overflow on0x7F+ 1Thus should we rename this operation to
sadd_coutto keep consistency with our other operations that depend on signedness (i.e.sdiv/udiv)? The operation seems to be signed based on the existing test suite.Does the existence of
sadd_coutalso imply that we should haveuadd_cout?The same question applies for
iadd_carry, but not foriadd_cin.