temporarly out of time on this one.  it appears
from the assembly output that 8c multiplies by
0 and not 1 when computing z a second time.
nonetheless, i haven't yet seen the problem.

#include <u.h>
#include <libc.h>

void
main(void)
{
        int three, one;
        uvlong twelve, z;

        one = 1;
        three = 3;
        twelve = 12;

        z = one*(twelve - three);
        print("z = %llud\n", z);

        z = (twelve - three) * one;
        print("z = %llud\n", z);

        exits(0);
}

output:

z = 9
z = 0

- erik

Reply via email to