X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=arch%2Fm68k%2Ffpsp040%2Fx_operr.S;h=e2c371c3a45dbf084f79076a9058fe6a87dbd087;hb=43bc926fffd92024b46cafaf7350d669ba9ca884;hp=526e6a3f10b0acf571fd357b058674340f075d43;hpb=5273a3df6485dc2ad6aa7ddd441b9a21970f003b;p=linux-2.6.git diff --git a/arch/m68k/fpsp040/x_operr.S b/arch/m68k/fpsp040/x_operr.S index 526e6a3f1..e2c371c3a 100644 --- a/arch/m68k/fpsp040/x_operr.S +++ b/arch/m68k/fpsp040/x_operr.S @@ -13,8 +13,8 @@ | the dest format is integer (b, w, l) and the operr is caused by | integer overflow, or the source op is inf, then the result stored is | garbage. -| There are three cases in which operr is incorrectly signaled on the -| 040. This occurs for move_out of format b, w, or l for the largest +| There are three cases in which operr is incorrectly signaled on the +| 040. This occurs for move_out of format b, w, or l for the largest | negative integer (-2^7 for b, -2^15 for w, -2^31 for l). | | On opclass = 011 fmove.(b,w,l) that causes a conversion @@ -36,16 +36,15 @@ | Note 2: For trap enabled 040 does the following: | If the inst is move_out, then same as Note 1. | If the inst is not move_out, the dest is not modified. -| The exceptional operand is not defined for integer overflow +| The exceptional operand is not defined for integer overflow | during a move_out. | | Copyright (C) Motorola, Inc. 1990 | All Rights Reserved | -| THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA -| The copyright notice above does not evidence any -| actual or intended publication of such source code. +| For details on the license for this file, please see the +| file, README, in this same directory. X_OPERR: |idnt 2,1 | Motorola 040 Floating Point Software Package @@ -77,7 +76,7 @@ fpsp_operr: beqs operr_end | -| If the destination size is B,W,or L, the operr must be +| If the destination size is B,W,or L, the operr must be | handled here. | movel CMDREG1B(%a6),%d0 @@ -90,9 +89,9 @@ fpsp_operr: beq operr_byte | -| The size is not B,W,or L, so the operr is handled by the +| The size is not B,W,or L, so the operr is handled by the | kernel handler. Set the operr bits and clean up, leaving -| only the integer exception frame on the stack, and the +| only the integer exception frame on the stack, and the | fpu in the original exceptional state. | operr_end: @@ -111,7 +110,7 @@ operr_long: moveb STAG(%a6),%d0 |test stag for nan andib #0xe0,%d0 |clr all but tag cmpib #0x60,%d0 |check for nan - beq operr_nan + beq operr_nan cmpil #0x80000000,FPTEMP_LO(%a6) |test if ls lword is special bnes chklerr |if not equal, check for incorrect operr bsr check_upper |check if exp and ms mant are special @@ -158,7 +157,7 @@ operr_word: moveb STAG(%a6),%d0 |test stag for nan andib #0xe0,%d0 |clr all but tag cmpib #0x60,%d0 |check for nan - beq operr_nan + beq operr_nan cmpil #0xffff8000,FPTEMP_LO(%a6) |test if ls lword is special bnes chkwerr |if not equal, check for incorrect operr bsr check_upper |check if exp and ms mant are special @@ -185,7 +184,7 @@ operr_byte: moveb STAG(%a6),%d0 |test stag for nan andib #0xe0,%d0 |clr all but tag cmpib #0x60,%d0 |check for nan - beqs operr_nan + beqs operr_nan cmpil #0xffffff80,FPTEMP_LO(%a6) |test if ls lword is special bnes chkberr |if not equal, check for incorrect operr bsr check_upper |check if exp and ms mant are special @@ -229,7 +228,7 @@ store_max: bclrb #inex2_bit,FPSR_EXCEPT(%a6) bclrb #ainex_bit,FPSR_AEXCEPT(%a6) fmovel #0,%FPSR - + tstw FPTEMP_EX(%a6) |check sign blts load_neg movel #0x7fffffff,%d0 @@ -280,7 +279,7 @@ dest_mem: bsrl mem_write rts | -| Check the exponent for $c000 and the upper 32 bits of the +| Check the exponent for $c000 and the upper 32 bits of the | mantissa for $ffffffff. If both are true, return d0 clr | and store the lower n bits of the least lword of FPTEMP | to d0 for write out. If not, it is a real operr, and set d0.