summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--macho/pstartup.a14
-rw-r--r--pstartup.a17
2 files changed, 27 insertions, 4 deletions
diff --git a/macho/pstartup.a b/macho/pstartup.a
index 8b44279..374d4ad 100644
--- a/macho/pstartup.a
+++ b/macho/pstartup.a
@@ -1727,17 +1727,29 @@ calculate_digits:
cmplwi 0,d0,10
blt last_digit
+#if 1
+ lis o0,-13107
+ subi o0,o0,13107
+ mulhwu o0,o0,d0
+ srwi o0,o0,3
+
+ slwi o1,o0,1
+ sub a1,d0,o1
+ slwi o1,o0,3
+ sub a1,a1,o1
+#else
li o1,10
divwu o0,d0,o1
mullw a1,o0,o1
sub a1,d0,a1
+#endif
addi a1,a1,48
+ mr d0,o0
stb a1,0(a2)
addi a2,a2,1
- mr d0,o0
b calculate_digits
last_digit:
diff --git a/pstartup.a b/pstartup.a
index 49a1dd8..16f7d80 100644
--- a/pstartup.a
+++ b/pstartup.a
@@ -1763,17 +1763,28 @@ calculate_digits:
cmplwi 0,d0,10
blt last_digit
+ if 1
+ lis o0,-13107
+ subi o0,o0,13107
+ mulhwu o0,o0,d0
+ srwi o0,o0,3
+
+ slwi o1,o0,1
+ sub a1,d0,o1
+ slwi o1,o0,3
+ sub a1,a1,o1
+ else
li o1,10
divwu o0,d0,o1
mullw a1,o0,o1
sub a1,d0,a1
+ endif
addi a1,a1,48
+ mr d0,o0
stb a1,0(a2)
- addi a2,a2,1
-
- mr d0,o0
+ addi a2,a2,1
b calculate_digits
last_digit: