X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fm68k%2Ffpsp040%2Fx_unfl.S;h=077fcc230fcc5fde1f1e4bd4df6ba54f9093f9e6;hb=9213980e6a70d8473e0ffd4b39ab5b6caaba9ff5;hp=b64dd998361e34beaa75a0257938f15751704fa5;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/m68k/fpsp040/x_unfl.S b/arch/m68k/fpsp040/x_unfl.S index b64dd9983..077fcc230 100644 --- a/arch/m68k/fpsp040/x_unfl.S +++ b/arch/m68k/fpsp040/x_unfl.S @@ -4,25 +4,25 @@ | fpsp_unfl --- FPSP handler for underflow exception | | Trap disabled results -| For 881/2 compatibility, sw must denormalize the intermediate -| result, then store the result. Denormalization is accomplished -| by taking the intermediate result (which is always normalized) and -| shifting the mantissa right while incrementing the exponent until -| it is equal to the denormalized exponent for the destination -| format. After denormalization, the result is rounded to the +| For 881/2 compatibility, sw must denormalize the intermediate +| result, then store the result. Denormalization is accomplished +| by taking the intermediate result (which is always normalized) and +| shifting the mantissa right while incrementing the exponent until +| it is equal to the denormalized exponent for the destination +| format. After denormalization, the result is rounded to the | destination format. -| +| | Trap enabled results -| All trap disabled code applies. In addition the exceptional -| operand needs to made available to the user with a bias of $6000 +| All trap disabled code applies. In addition the exceptional +| operand needs to made available to the user with a bias of $6000 | added to the exponent. | | Copyright (C) Motorola, Inc. 1990 | All Rights Reserved | -| THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA -| The copyright notice above does not evidence any +| THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA +| The copyright notice above does not evidence any | actual or intended publication of such source code. X_UNFL: |idnt 2,1 | Motorola 040 Floating Point Software Package @@ -91,7 +91,7 @@ ck_inex: | | Inexact enabled and reported, and we must take an inexact exception -| +| take_inex: btstb #E3,E_BYTE(%a6) beqs no_e3_2 @@ -145,7 +145,7 @@ unf_res: | ;1=sgl, 2=dbl | ;we need the RND_PREC in the | ;upper word for round - movew #0,-(%a7) + movew #0,-(%a7) movew %d0,-(%a7) |copy RND_PREC to stack | | @@ -199,7 +199,7 @@ unf_cont: | must not corrupt a0 and d0. | | -| Perform Round +| Perform Round | Input: a0 points to input operand | d0{31:29} has guard, round, sticky | d1{01:00} has rounding mode @@ -222,7 +222,7 @@ opc011: bsrl g_dfmtou tstb %d0 beqs ext_opc011 |If extended, do not subtract -| ;If destination format is sgl/dbl, +| ;If destination format is sgl/dbl, tstb LOCAL_HI(%a0) |If rounded result is normal,don't | ;subtract bmis ext_opc011 @@ -252,12 +252,12 @@ not_opc011: bnes ck_sgn bsetb #z_bit,FPSR_CC(%a6) |set condition codes if zero ck_sgn: - btstb #sign_bit,LOCAL_EX(%a0) |check the sign bit + btstb #sign_bit,LOCAL_EX(%a0) |check the sign bit beqs unf_done bsetb #neg_bit,FPSR_CC(%a6) | -| Finish. +| Finish. | unf_done: btstb #inex2_bit,FPSR_EXCEPT(%a6)