Starting from here:

imcc -P mops.pbc 87 MOps
parrot -P mops.pbc 92 MOps

I tracked this down to an alignment issue of the prederefed code pointer.
So here is a memalign test. It needs possibly more work for other C librarys, which have a different name for this function.

$ imcc -P mops.pasm
92.162503 M op/s

And finally:
$ imcc -P -O1 -d60 mops.pasm
opt1 sub I4, I4, I3 => sub I4, I3
98.110492 M op/s

leo

Reply via email to