By: EduardoS (no.delete@this.spam.com), February 25, 2013 6:24 am
Room: Moderated Discussions
Wilco (Wilco.Dijkstra.delete@this.ntlworld.com) on February 25, 2013 5:54 am wrote:
> If you want to show how useful 4 condition bits are compared to having 1, what you need to measure is the
> distribution of conditional branches after ALU instructions. Obviously that excludes compares which are
> unchanged by how many condition bits are used. That's what I did, and that gives you 96% equality.
By equality you means, the zero flag? When the result of the operation is 0? Ok, it is usefull for XOR, SUB, AND, OR, SHL, but what about ADD? How is this any usefull for ADD?
Also, ADD and SUB sometimes needs to check for overflow or carry, how about that?
For floating point, checking for zero, overflow, NaN, what else?
Maybe GCC doesn't use it, Linux kernel is unlikely to use as well, but then there are applications and markets for wich such things are important, like, a database wich checks every operation for overflow, don't you think you are doing the wrong think by just looking at what GCC does and assuming that's the case for everybody else?
> If you want to show how useful 4 condition bits are compared to having 1, what you need to measure is the
> distribution of conditional branches after ALU instructions. Obviously that excludes compares which are
> unchanged by how many condition bits are used. That's what I did, and that gives you 96% equality.
By equality you means, the zero flag? When the result of the operation is 0? Ok, it is usefull for XOR, SUB, AND, OR, SHL, but what about ADD? How is this any usefull for ADD?
Also, ADD and SUB sometimes needs to check for overflow or carry, how about that?
For floating point, checking for zero, overflow, NaN, what else?
Maybe GCC doesn't use it, Linux kernel is unlikely to use as well, but then there are applications and markets for wich such things are important, like, a database wich checks every operation for overflow, don't you think you are doing the wrong think by just looking at what GCC does and assuming that's the case for everybody else?