progs/sum: reducing code size
[calu.git] / progs / sum.s
index 6c96a2647f935826804696ea8617416b79c376a8..c0daa3c6d8bbadb4d0da0fc617f392bb0247e258 100644 (file)
@@ -84,7 +84,9 @@ sum:
        andx r1, 0x3
 
        cmpi r1, 0
-       breq+ go_loop
+       addideq r3, r3, 4
+       ; subideq r2, r2, 0
+       breq+ loop
 
        cmpi r1, 1
        addideq r3, r3, 3
@@ -96,13 +98,11 @@ sum:
        subideq r2, r2, 8
        breq- loop2
 
-       cmpi r1, 3
-       addideq r3, r3, 1
-       subideq r2, r2, 4
-       breq- loop3
+       cmpi r1, 3
+       addi r3, r3, 1
+       subi r2, r2, 4
+       br+ loop3
 
-go_loop:
-       addi r3, r3, 4
 loop:
        subi r3, r3, 4
        retzs-