From 925708830090dcdd6a0fa08ce89a1f10cdd89027 Mon Sep 17 00:00:00 2001 From: John van Groningen Date: Fri, 16 May 2003 14:53:22 +0000 Subject: optimize toString for Int by computing the remainder of 10 using multiplication --- macho/pstartup.a | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'macho') 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: -- cgit v1.2.3