Path: utzoo!utgpu!news-server.csri.toronto.edu!rutgers!usc!wuarchive!udel!mmdf From: I5110401%DBSTU1.BITNET@cunyvm.cuny.edu (Hello world ||) Newsgroups: comp.os.minix Subject: 68K: New division subroutines for ack c compiler Message-ID: <24351@nigel.udel.EDU> Date: 12 Jul 90 12:09:03 GMT Sender: mmdf@ee.udel.EDU Lines: 90 Hello all, This is a small change to the minix-ST ACK runtime library to replace the (quite slow) division subroutines. The new _dv[iu].s routines handle some different cases to speed up division noticably. Inspection of my private source pile shows that most long by long divisions are done with small (well, 0 <= x <= 65535 8-) divisors, and just that case can be handled quite fast by using max. 2 68000 divu instructions, needing around 400 cpu- cycles (compare that to well over 1000 cycles for the original routine !). Have fun, --- Kai-Uwe Bloem, i5110401@dbstu1.bitnet --- === snip === snip === snip === snip === snip === snip === snip === snip === table !"#$%&'()*+,-./0123456789:;<=>? @ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_ begin 644 _dv.tar.Z M'YV-7\C82>-B#H"#"!,J7,BPH<.'$"-*1 BCH@T:-$ J,CQAD:.%65\!%FQz MAHT8-4# H&$#QL48,V; \ @C!@P9&#].W,FSI\^? .K,H1-&#L(Y>0P";2@Fy MC9NE4*-*G4JUJE6>+LB4,>.T#(BL Q44+#.&SEOVx M*YDP1.F6_2IFSAP%"D"$ #$GS1DW9B@=0-"3!X02\*D:5'ECE\T7,62\R %#N]/4:<*P(5UFu M8.'&+D T<2J=/9DZ8[R^,4,831HS9KU1G1QXI='8'-@)IMUV(JDTPPLSC5<>t M"$)Y90,.'$$F61T@.#64'/C182!K=Z!11FGMG0@"'&_XE888;)01'Q7^S0'"s M&&B$X5@9E260P()MA+%&&39R1U@= YK!F%#QH: 5:G8D!EUR.2]D8=(B*60F6AE6GFF6AR-MH4=679'AJ78R8"I9o M&EKQ"0(/6_(JW;"?A@I"''6\(6(9;IC%*0R'EA:D4T^"P&FFR&(KK(*?SF"Ln MIM,Q"P,>-F6(0H6",":ZGX(J*K76IH&Mm M63HJYJULOTYW)VMBN*G>&+GB)26UJ7EE1J.MO59:=1Z?.UC""814Kk M@X>.,$.SR9)Q*+GX3B?&TR 0'*ZJV%H*\'))0UNIM&3(.@=C=]S;I6O]_0>Qj MLG/4(8:I891%9IJ$%V[X98"-5MH9O#HZ:QAGE#&I@C_J %EY8#^+<,)D=$=Ni MUZ.EE9IVEG<^;;779NNV=F2(-#&X)P*6P%A[N8"66F()E,:D"<09I0ML)(#"h M''"DL (+8<20P&"MUO%JH&2049I?"O3^QN_!#U_\\63 L/R]SUJ/O?#$&\]"g MZ]]_;F[UOLL8/!DS(._]]W.$$25D,[!_O?L)D$$#"RW07@KH9S^O3"]79BG,f M8=C#N*'$+@%'J]7[:% ].@P%>/V30?7$ +,$P, ,/AJ,^I2E+\2IQ:!TQPJ;N#J5@"1J,7V!W)1*0*#"b M!&0L#@G( 0A?&,,9JJ]D(-##B60%.#@H0(]\O-/49 #(R9AK6>"30_7&T 8Xa M+/%\,H#BL;J&RB@R8/1E2W[Y:VT"*UO!&BD&_R1 y M!F;0W^_(V+KSS6"'];O?",D O%6RH5;TC*4*<)9>V6<_^[t MJ\>&N7%SL4;-&X#XJA@7>+9Z<<$#&RY;TQU^Q;,=RI:L.J=-5[[OI3:%;"OKs MJ,Z_1A&7NJQ!/!/0-S&\$JS?:\H9(B>'0_46<'NY;0**28;#8E:@@T'CD?Y&r MH+)T"5 'U)4":L"[XL@5?BR@@1BJEY8S /6IWU,K>_JF*QL!"FV0E4-I]K*Xq MQIWH+SA X@7I:<;!W'&G9G'7+1WIQ-VR\'VQ_:47U8B6F!IR@CMDJXH$S,X"p M8_$,+=3@$;N:O?)Q3X?,(U*L"EI$#B_WI??\WO1&G-3\)4 -K11>\L:D@"(Do M@0A)L((6$L I&R@@!SKH*AE'8&,&N8@A]F9RI,S2"QF[SD8Q\(!n MLKY:RV034-G1!H\[Z+VI?S:[S]-B)P&A];)S2_L],Z?V:JR%X#9?R^;!O&FVm M!2580.Q0AX)B8Jl ML8D,;K!H& 3ZTZ .RE"*\A('7RJ'>:'RE0,0HAC&.,>C@#L?L9GM&<:9!C6K2AK?8S*8VM\G-j M;GKSF^ ,ISA#08YR4M.AE)$R#1[QD,<\R121>MC#)?C(AS[3*C=L[(0ABI2TM1^*$1=*M&)K!.EZ;#(13"R%XWTh MA2,=1:Y'/]).D(94I.[T+4E+0A#53B09*9F!2HBZ4I:"R2JR=D5ISLZYSA&Gg M(#:UP4UPDM,S[82GC(%@3WV2$J $13Q"J>=0B<(1HQSXJ$B!8')+6]"E4CE(f M)FXN8=*Z$ZDZF:I5L<=5L))5A6H%@ENQ=U>]^A4R$P.M8G&VEHE4Y=>CM3"=e M/JSKW=(-Q<(U+J3R"5KJXKJ[X 42WM#+7K;4ESG5%C +JE,K!EN==J3UW[_Od M5<(6*[K&V, Q-J3L="&;NEGP=K(RI$SSE7(9S&2VQG[CC.$,Y1F! @ZT, B-c MX44[&I&4EK"F[0MM4>.55YQ4!ZO):@0RR-K6]OFUO+>&;&93$=I8\Z_*MVWOb M;Q-5W A#-YIC<@YCWIMBCEO=M0AFY_!G=N(45%^J/RYR6 =!Y2Z72LV;;I^Aa M@P>CTy M=8!Y)"ZA1"=>\4=IL2C*)09IJ%L0Y3>_%5O"15S&q MY3?(91;*Q5QKEEG2Q7Z!(T2IM5X(M%W=Q8YA<(SB15YX8%Z=@XSJE5V6]UXFp M$E_SM5949%]R@%\6N#\8I(&,18)#(1TMIF0QA@(S!AA%EF,[UF,_%F3&2&0Wo M)I9(5CY*QF1.)@>>I#-9=XF9=ZN9=\V9=^^9> &9B".9B$69B&n $>9B@!CY*m l end ========================================================================= " This space intentionally left blank " Kai-Uwe Bloem, I5110401@DBSTU1.BitNet, ...!unido!dbstu1.bitnet!i5110401, I5110401%DBSTU1.BITNET@CORNELLC.CCS.CORNELL.EDU (or other known gateways) student of cs at Technische Universitaet Braunschweig / w-germany