Hi.
I'm writing some test cases for the carry flags. This code is wrong:
void func_sub(const Instruction *ins, Pipeline *pipe, bool predicate,
Result *r) {
unsigned long long a, b, c;
a = pipe->regfile[ins->rs].ui;
b = -pipe->regfile[ins->rd].ui;
c = a + b;
compute_result(r, ins, predicate, a, b, c);
}
It should be
void func_sub(const Instruction *ins, Pipeline *pipe, bool predicate,
Result *r) {
unsigned long long a, b, c;
a = pipe->regfile[ins->rs].ui;
b = pipe->regfile[ins->rd].ui;
c = a - b;
compute_result(r, ins, predicate, a, b, c);
}
We need to compute_flags on the original values.
MM
On 1 July 2012 20:22, Timothy Normand Miller <[email protected]> wrote:
> Here you can browse the source of the first compilable version of the
> OGA2 simulator.
>
>
> http://sourceforge.net/p/openshader/code/ci/9d84745908ebdf51569b5efaa8b718aa4d81ab4b/tree/simulator/
>
> My main goal was to get something to compile and run, however trivial.
> As a result, there is some truly horrid coding, which I apologize
> for. If you pull this tree and 'make' it, you'll get a demo that runs
> three instructions in an infinite loop.
>
> --
> Timothy Normand Miller, PhD
> http://www.cse.ohio-state.edu/~millerti
> Open Graphics Project
> _______________________________________________
> Open-graphics mailing list
> [email protected]
> http://lists.duskglow.com/mailman/listinfo/open-graphics
> List service provided by Duskglow Consulting, LLC (www.duskglow.com)
>
_______________________________________________
Open-graphics mailing list
[email protected]
http://lists.duskglow.com/mailman/listinfo/open-graphics
List service provided by Duskglow Consulting, LLC (www.duskglow.com)