From 6c34a8fd33738ce1224150c794e6d09e6c226a68 Mon Sep 17 00:00:00 2001 From: Martin Perner Date: Fri, 17 Dec 2010 14:49:23 +0100 Subject: [PATCH] [bench] fix bug in mul --- 8_benchs/src/vm.s | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/8_benchs/src/vm.s b/8_benchs/src/vm.s index 3570bee..1b30daf 100644 --- a/8_benchs/src/vm.s +++ b/8_benchs/src/vm.s @@ -113,29 +113,27 @@ vm_mul: ;return init ldis r8, 0 - ;counter init - ldis r9, 0 ;save of sp-1 mov r7, r0 ;check if sp-1 is even or odd andx r0, 1 ;add sp to result adddnz r8, r8, r6 - ;store sp-1 in r0 - addidnz r0, r7, 0 ;if odd decrement sp-1 subinz r7, r7, 1 + ;just to get zero flag unset + addizs r7, r7, 0 loop: ;if last was not zero - ;add to sp sp-1 - adddnz r6, r6, r0 - adddnz r6, r6, r0 + ;add to sp-1 to result + adddnz r8, r8, r6 + adddnz r8, r8, r6 ;decrement sp-1 by 2 - subinz r7, r7, 2 + subi r7, r7, 2 ;jump if not zero brnz+ loop ;save result - stw r6, 0-4(r3) + stw r8, 0-4(r3) br+ vm_loop ;case + -- 2.25.1