By: none (none.delete@this.none.com), February 26, 2013 1:31 am
Room: Moderated Discussions
Linus Torvalds (torvalds.delete@this.linux-foundation.org) on February 25, 2013 6:22 pm wrote:
[...]
> Yes, emulating x86 flags is bothersome, but that's just because the exact locations and other silly
> details. Auxiliary carry, parity etc are historical artifacts. Same goes for "inc/dec do not touch
> carry" (which is, I think, due to trying to preserve carry around loop iterations for multiprecision
> arithmetic) and the rather specific semantics for carry and shifts (which do make sense from an original
> iterative bit-at-a-time implementation standpoint but not from a barrel shifter one).
Fun historical fact: inc and dec didn't set the carry flag on 8080. This tells a lot about how far compatibility goes :-)
[...]
> Yes, emulating x86 flags is bothersome, but that's just because the exact locations and other silly
> details. Auxiliary carry, parity etc are historical artifacts. Same goes for "inc/dec do not touch
> carry" (which is, I think, due to trying to preserve carry around loop iterations for multiprecision
> arithmetic) and the rather specific semantics for carry and shifts (which do make sense from an original
> iterative bit-at-a-time implementation standpoint but not from a barrel shifter one).
Fun historical fact: inc and dec didn't set the carry flag on 8080. This tells a lot about how far compatibility goes :-)