亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? ppc_fadds.s

?? powerpc 405 優(yōu)化過(guò)的硬浮點(diǎn)庫(kù)
?? S
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
/* fpopt/ppc_fadds.S, pl_FPE_common, pl_linux 11/24/03 16:17:26                                                                  */
/*----------------------------------------------------------------------------- */
/*  Copyright (c) 2003, IBM Corporation                                         */
/*  All rights reserved.                                                        */
/*                                                                              */
/*  Redistribution and use in source and binary forms, with or                  */
/*  without modification, are permitted provided that the following             */
/*  conditions are met:                                                         */
/*                                                                              */
/*    * Redistributions of source code must retain the above                    */
/*      copyright notice, this list of conditions and the following             */
/*      disclaimer.                                                             */
/*    * Redistributions in binary form must reproduce the above                 */
/*      copyright notice, this list of conditions and the following             */
/*      disclaimer in the documentation and/or other materials                  */
/*      provided with the distribution.                                         */
/*    * Neither the name of IBM nor the names of its contributors               */
/*      may be used to endorse or promote products derived from this            */
/*      software without specific prior written permission.                     */
/*                                                                              */
/*  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND                      */
/*  CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES,                 */
/*  INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF                    */
/*  MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE                    */
/*  DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS           */
/*  BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY,         */
/*  OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,                    */
/*  PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR          */
/*  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY         */
/*  OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT                */
/*  (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE           */
/*  USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.    */
/*                                                                              */
/*----------------------------------------------------------------------------- */
/*                                                                              */
/* Function: add two single floating point numbers. frt = fpa + fpb             */
/* Input:    r3(fpa), r4(fpb)                                                   */
/* Output:   r3(frt)                                                            */
/* Notes:   1. No stack frame is created for this function, so the following    */
/*             registers must be preserved, as required by ABI specification:   */
/*               LR, CR0, R1, R2, R13-R31                                       */
/*          2. operation performed according to IEEE754-1985 standard with      */
/*             rounding mode = nearest even.                                    */
/*          3. This file contains code common to both addition and subtraction. */
/*                                                                              */
/*----------------------------------------------------------------------------- */

#include <ppc4xx.inc>
#include "fpeLib.inc"

/*                                                                              */
#define SEXPMAX  255  /* Max value for single precision exponent */
#define SEXPBIAS 127  /* Bias value for single precision exponent */

function_prolog(__addsf3)

.globl  _ppc_fadds_common

/* save cr in r0                                                                */
        mfcr    r0
/* load fpa into r8,r9,r10 and cr6.  load fpb into r11, r12, r4 and cr7         */
        mr      r9,r3                   /* load fpa.S, fpa.exp, fpa.hi */
        mr      r12,r4                  /* load fpb.S, fpb.exp, fpb.hi */
        rlwinm  r8,r9,9,0xff            /* isolate exponent of fpa */
        
_ppc_fadds_common:                      /* common routine for fadds and fsubs */
        rlwinm  r11,r12,9,0xff          /* isolate exponent of fpb */
        cmpwi   cr6,r9,0                /* set fpa.sign */
        cmpwi   cr7,r12,0               /* set fpb.sign */
        rlwinm. r9,r9,0,0x007fffff      /* isolate fpa.hi */
        cror    cr6_zero,cr0_2,cr0_2    /* fpa.zero = (fpa.hi == 0) */
        rlwinm. r12,r12,0,0x007fffff    /* isolate fpb.hi */
        cror    cr7_zero,cr0_2,cr0_2    /* fpb.zero = (fpb.hi == 0) */
        cmpwi   cr2,r8,SEXPMAX          /* if (fpa.exp == SEXPMAX) */
        cmpwi   cr0,r8,0                /* if (fpa.exp == 0) */
        crand   cr6_zero,cr6_zero,cr0_2 /* fpa.zero=(fpa.exp==0 && fpa==0) */
        crandc  cr0_2,cr0_2,cr6_zero    /* if (fpa.exp==0 && fpa!=0) */
        cmpwi   cr3,r11,SEXPMAX         /* if (fpb.exp == SEXPMAX) */
        beq     denormal_a              /* if fpa is not denormalized       */
        oris    r9,r9,0x0080            /*    add in implicit 1.    */
        b       adone                   /* } else { */
denormal_a:
        addi    r8,r8,1                 /*    fpa.exp++; */
adone:                                  /* } */
        crand   cr7_inf,cr7_zero,cr1_2  /* fpb.inf=(fpb.exp==SEXPMAX && fpb==0) */
        crandc  cr7_NaN,cr1_2,cr7_zero  /* fpb.NaN=(fpb.exp==SEXPMAX && fpb!=0) */
        cmpwi   cr0,r11,0               /* if (fpb.exp == 0) */
        crand   cr7_zero,cr7_zero,cr0_2 /* fpb.zero=(fpb.exp==0 && fpb==0) */
        crandc  cr0_2,cr0_2,cr7_zero    /* if (fpb.exp==0 && fpb!=0) */
        beq     denormal_b              /* {  Add implied 1 to significand */
        oris    r12,r12,0x0080          /*    fpb.hi |= 0x00800000; */
        b       bdone                   /* } else { */
denormal_b:
        addi    r11,r11,1               /*   fpb.exp++; */
bdone:                                  /* } */

/* check for Not-A-Number or INFinity                                           */
        bt      cr2_2,a_NaNorINF        /* if (fpa.NaN||fpa.INF) goto a_NaNorINF; */
        bt      cr3_2,b_NaNorINF        /* if (fpb.NaN||fpb.INF) goto b_NaNorINF; */
        
/* check for a or b zero - if so, done                                      */
        bt      cr6_zero,a_zero         /* if (fpa.zero) return fpb         */
        bt      cr7_zero,b_zero         /* if (fpb.zero) return fpa         */
        
/* if (fpa < 0) fpa = -fpa;                                                     */
        bf+     cr6_sign,a_positive     /* if (fpa < 0) { */
        subfic  r9,r9,0                 /*   fpa = -fpa; */
a_positive:                             /* } */
/* if (fpb < 0) fpb = -fpb;                                                     */
        bf+     cr7_sign,b_positive     /* if (fpb < 0) { */
        subfic  r12,12,0                /*   fpb = -fpb; */   
b_positive:                             /* } */
        cmpw    cr0,r11,r8              /* if (fpa.exp < fpb.exp ) */
        li      r10,0                   /* fpa.lo = 0 */
        li      r4,0                    /* fpb.lo = 0 */
        bgt     shifta                  /* { */
/* fpb.significand >>= (fpa.exp - fpb.exp);                                     */
        subf.   r11,r11,r8              /* shift = fpa.exp - fpb.exp; */
        cmpwi   cr1,r11,27              /* if beyond precision */
        beq     do_add                  /* if (shift == 0) goto do_add; */
        ble+    cr1,shiftless27         /* if (shift > 27) { */
                                        /*   add in a (signed) rounding bit */
        bt      cr7_sign,add_minus1     /*   if (b > 0) { add in 1 */
        li      r12,0                   /*     fpb.hi = 0; */
        li      r4,1                    /*     fpb.lo = 1; */
        b       do_add                  /*   } */
add_minus1:                             /*   else { b < 0 : add in -1 */
        li      r12,-1                  /*     fpb.hi = -1; */
        li      r4,-1                   /*     fpb.lo = -1; */
        b       do_add                  /*   } */
                                        /* } */
shiftless27:                            /* else */
                                        /* { */
        subfic  r6,r11,32               /*   r6 = 32-shift; */
        slw     r4,r12,r6               /*   fpb.lo = shift out from fpb.hi */
        sraw    r12,r12,r11             /*   (signed)fpb.hi >>= shift; */
        b       do_add                  /* } */

shifta:                                 /* else { */
/* fpa.significand >>= (fpb.exp - fpa.exp);                                     */
        mr      r6,r11                  /* save exponent */
        subf.   r11,r8,r11              /* shift = fpb.exp - fpa.exp; */
        mr      r8,r6                   /* exponent */
        cmpwi   cr1,r11,27              /* if beyond precision */
        ble+    cr1,Ashiftless27        /* if (shift > 27) { */
                                        /*   add in a (signed) rounding bit */
        bt      cr6_sign,Aadd_minus1    /*   if (a > 0) { add in 1 */
        li      r9,0                    /*     fpa.hi = 0; */
        li      r10,1                   /*     fpa.lo = 1; */
        b       do_add                  /*   } */
Aadd_minus1:                            /*   else { a < 0 : add in -1 */
        li      r9,-1                   /*     fpa.hi = -1; */
        li      r10,-1                  /*     fpa.lo = -1; */
        b       do_add                  /*   } */
                                        /* } */
Ashiftless27:                           /* else */
                                        /* { */
        subfic  r6,r11,32               /*   r6 = 32-shift; */
        slw     r10,r9,r6               /*   fpb.lo = shift out from fpb.hi */
        sraw    r9,r9,r11               /*   (signed)fpa.hi >>= shift; */
do_add:                                 /* } */
/* fpa.significand += fpb.significand;                                          */
        addc    r10,r10,r4              /* fpa.lo += fpb.lo; */
        adde.   r9,r9,r12               /* fpa.hi += fpb.hi + CA; */
        cror    cr6_sign,cr0_0,cr0_0    /* fpa.sign = (fpa < 0); */
/* if (fpa < 0) fpa = -fpa;                                                     */
        bge     pos_result              /* if (fpa < 0) { */
        subfic  r10,r10,0               /*     fpa = -fpa; */
        subfze  r9,r9
pos_result:                             /* } */
/* normalize fpa                                                                */
        cntlzw  r5,r9                   /* s = cntlz(fpa.hi); */
        cmpwi   cr0,r5,8                /* if (s < 8 ) */
                                        /*   Note that first 8  bits of word */
                                        /*   were 0 (where exponent and sign */
                                        /*   were), so s can really only have */
                                        /*   a min value of 7 . */
        bge     noshrght                /* { */
        subfic  r5,r5,8                 /*   r5 = 8-s; */
        subfic  r11,r5,32               /*   r11 = 24+s; */
        srw     r10,r10,r5              /*   fpa.lo >>= (11-s); */
        slw     r6,r9,r11               /*   temp = fpa.hi << (21+s); */
        srw     r9,r9,r5                /*   fpa.hi >>= (11-s); */
        add     r8,r5,r8                /*   fpa.exp += (11-s); */

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
麻豆成人久久精品二区三区小说| 国产精品免费视频观看| 亚洲一区二区三区爽爽爽爽爽| 91在线观看一区二区| 国产精品国产三级国产aⅴ无密码| 本田岬高潮一区二区三区| 国产精品视频一二三区| 97精品国产97久久久久久久久久久久| 亚洲国产高清在线观看视频| av不卡免费在线观看| 亚洲国产人成综合网站| 欧美日韩国产高清一区二区三区 | 亚洲人精品一区| 91成人在线观看喷潮| 日本中文字幕一区二区有限公司| 欧美成人r级一区二区三区| 国产一区二区精品久久| 国产精品无码永久免费888| 日本韩国欧美三级| 奇米色一区二区三区四区| 久久蜜桃一区二区| 色综合久久综合网97色综合 | 精品少妇一区二区三区视频免付费 | 国产福利精品一区| 亚洲激情图片qvod| 欧美成人猛片aaaaaaa| zzijzzij亚洲日本少妇熟睡| 亚洲线精品一区二区三区 | www国产精品av| 豆国产96在线|亚洲| 性感美女久久精品| 国产色一区二区| 欧美日韩一级视频| 国产老肥熟一区二区三区| 亚洲国产中文字幕| 国产精品伦一区二区三级视频| 欧美日韩成人一区二区| 成人v精品蜜桃久久一区| 首页国产丝袜综合| 国产精品热久久久久夜色精品三区| 在线观看免费亚洲| 国产91精品欧美| 日韩国产欧美在线播放| 成人毛片老司机大片| 亚洲一卡二卡三卡四卡无卡久久| 精品国产精品一区二区夜夜嗨| 91国产精品成人| 成人免费看片app下载| 美腿丝袜亚洲一区| 亚洲午夜成aⅴ人片| 国产精品国产三级国产普通话蜜臀| 欧美一卡二卡在线| 91成人在线观看喷潮| 99免费精品在线观看| 韩日欧美一区二区三区| 亚洲成av人片在www色猫咪| 国产精品丝袜一区| 精品日韩在线一区| 欧美日韩国产经典色站一区二区三区 | 国产精品美女久久久久久久| 日韩一二在线观看| 欧美美女网站色| 在线免费观看成人短视频| 91天堂素人约啪| 成人激情开心网| 国产成人亚洲综合a∨猫咪| 久88久久88久久久| 免费av网站大全久久| 日韩影院在线观看| 午夜精品福利一区二区蜜股av| 亚洲综合久久av| 亚洲欧美日韩国产一区二区三区 | 麻豆久久一区二区| 麻豆一区二区99久久久久| 日韩av电影一区| 欧美aaa在线| 精品一区二区三区欧美| 久久精品国产久精国产| 久久精品72免费观看| 另类小说一区二区三区| 精品一区二区三区在线播放| 毛片一区二区三区| 国产一区二区精品久久| 国产成人免费视频一区| 成人av小说网| 色先锋久久av资源部| 欧美日韩一区二区在线视频| 欧美色综合天天久久综合精品| 欧美日韩免费电影| 最近日韩中文字幕| 一区二区三区在线视频播放| 亚洲国产美女搞黄色| 日韩成人精品在线观看| 国产一区二区视频在线播放| 丁香婷婷综合色啪| 91国偷自产一区二区三区观看| 欧美日韩视频不卡| 久久日韩精品一区二区五区| 中文在线一区二区| 尤物视频一区二区| 欧美aⅴ一区二区三区视频| 激情六月婷婷综合| 99视频一区二区| 555www色欧美视频| 久久久国产精品麻豆| 亚洲欧美偷拍卡通变态| 视频一区二区三区中文字幕| 久草在线在线精品观看| 91一区二区在线| 91麻豆精品国产自产在线观看一区| 精品成人一区二区三区四区| 国产精品女人毛片| 视频一区欧美精品| 成人的网站免费观看| 欧美一卡二卡三卡| 国产精品二区一区二区aⅴ污介绍| 亚洲综合一区二区三区| 国产一区二区三区在线观看精品 | 国产真实乱对白精彩久久| 99精品视频在线观看| 日韩天堂在线观看| 国产精品成人网| 久久精品国产77777蜜臀| 91在线视频免费观看| 精品欧美乱码久久久久久1区2区| 亚洲欧美日韩久久| 国产传媒一区在线| 91精品国产综合久久精品图片 | 蜜臀av国产精品久久久久| 成人免费av资源| 日韩欧美国产综合一区| 亚洲愉拍自拍另类高清精品| 国产精品一二三在| 欧美一区二区播放| 亚洲一级电影视频| 成人高清视频免费观看| 亚洲精品在线免费播放| 亚洲福利一区二区三区| 成人高清av在线| 久久久不卡网国产精品二区| 另类综合日韩欧美亚洲| 色94色欧美sute亚洲线路二| 亚洲精品一区二区三区精华液 | 自拍偷拍国产精品| 国产在线精品免费av| 欧美日韩免费观看一区三区| 国产精品久久久久天堂| 国产一区二区伦理| 欧美mv日韩mv亚洲| 蜜臀久久99精品久久久久久9| 在线观看国产91| 亚洲人成精品久久久久久| 波多野结衣精品在线| 国产欧美一区二区三区在线看蜜臀| 免费看日韩a级影片| 欧美一区二区三区人| 亚洲 欧美综合在线网络| 色婷婷综合激情| 亚洲美女在线国产| 91在线视频网址| 亚洲男人的天堂网| 91在线视频观看| 亚洲精品v日韩精品| 91香蕉国产在线观看软件| 成人免费一区二区三区视频| 成人精品国产免费网站| 国产精品色哟哟网站| 99在线精品观看| 亚洲欧美一区二区三区极速播放| 91丝袜美腿高跟国产极品老师 | 精品少妇一区二区三区在线播放| 日韩成人免费电影| 日韩精品在线一区二区| 精品一区二区三区免费毛片爱| 精品日韩成人av| 成人午夜视频免费看| 中文字幕一区二区在线播放| 99精品视频一区二区三区| 亚洲伦在线观看| 欧美亚洲自拍偷拍| 日本不卡一区二区三区高清视频| 欧美一区日韩一区| 国产一区二区三区综合| 国产精品素人视频| 色激情天天射综合网| 天天综合网 天天综合色| 日韩女同互慰一区二区| 国产麻豆午夜三级精品| 国产精品久久一卡二卡| 91久色porny | 久久综合网色—综合色88| 国模套图日韩精品一区二区| 国产女主播视频一区二区| av网站免费线看精品| 亚洲精选一二三| 欧美一区二区在线免费播放| 国产成人在线视频网站| 一区二区三区四区不卡视频| 日韩女优av电影| 91在线国产观看|