From 7fe99f641f44d297e70ef9269081e59e9a25b4a6 Mon Sep 17 00:00:00 2001 From: Camil Staps Date: Sun, 5 Mar 2023 19:48:04 +0100 Subject: Minor performance improvements in eval --- driver.s | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) (limited to 'driver.s') diff --git a/driver.s b/driver.s index bd9d901..62e1914 100644 --- a/driver.s +++ b/driver.s @@ -169,15 +169,14 @@ eval_arg_loop: addi $t3,$t3,4 eval_arg_strict: lw $t4,($t3) - lw $t4,($t4) - sltu $t4,$t4,$s7 - bne $t4,$0,eval_arg + lw $t5,($t4) + sltu $t5,$t5,$s7 # check if argument is already in hnf + bne $t5,$0,eval_arg addi $t1,$t1,-1 j eval_arg_loop addi $t3,$t3,4 eval_arg: - lw $t4,($t3) # reverse pointers - addi $s2,$s2,1 + addi $s2,$s2,1 # reverse pointers sw $s2,($t3) addi $s2,$s3,0 addi $s3,$t4,0 @@ -191,15 +190,14 @@ eval_rewind: la $t4,EVALROOT beq $s2,$t4,eval_rewind_root addi $t0,$s2,0 - addi $t1,$s2,0 + addi $t1,$s2,4 eval_rewind_loop: - addi $t1,$t1,4 lw $t2,($t1) andi $t3,$t2,1 beq $t3,$0,eval_rewind_loop - nop + addi $t1,$t1,4 xori $s2,$t2,1 - sw $s3,($t1) + sw $s3,-4($t1) addi $s3,$t0,0 j eval nop -- cgit v1.2.3