Hi,
On perjantai 02 tammikuu 2015, Nicolas Pomarède wrote:
Some of the results of gembench could be used (ram/rom access, int
division, ...) but unless we disassemble it, we don't know what kind of
operations are done. It would be better to start with our own/simpler
tests to ensure our bases are solid, then move to more complex
benchmarks made by others.
Attached is a profile of what gembench does during the CPU test
(some rounds in first and last test are probably missing).
If you e.g. search for "fp", you can see that Gembench tests
more FPU instructions, but each test includes also other
than FPU instructions. See e.g. code for "fadd" test:
$00060760 : tst.l $1dc(a4) 0.03% (2403, 19236, 0)
$00060764 : ble.s $6077c 0.03% (2403, 4, 0)
$00060766 : movem.l d0-d3,-(sp) 0.03% (2403, 67384, 0)
$0006076a : fmove.d (sp)+,fp0 0.03% (2403, 19336, 0)
$0006076e : fadd.d (sp),fp0 0.03% (2403, 28848, 0)
$00060772 : fmove.d (sp),fp0 0.03% (2403, 19224, 0)
$00060776 : movem.l (sp)+,d0-d1 0.03% (2403, 48096, 0)
$0006077a : rts 0.03% (2403, 19228, 0)
Each of the tests for:
- fadd
- fmul
- fsub
- facos
- fasin
- flogn
Looks fairly similar.
repeats for these could be integer test part:
$0003f37a : adda.l #$104,a0 1.19% (108018, 479572, 0)
$0003f380 : move.l (a0),d0 1.19% (108018, 432576, 0)
...
$0003f494 : divu.w d4,d5 0.27% (24575, 196772, 0)
- Eero