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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ppc_fadds.s

?? powerpc 405 優化過的硬浮點庫
?? S
?? 第 1 頁 / 共 2 頁
字號:
/* 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); */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
蜜臀av亚洲一区中文字幕| 国产人成亚洲第一网站在线播放| 美女视频第一区二区三区免费观看网站| 日韩欧美一区在线| 欧美精品国产精品| 国产午夜精品久久久久久免费视| 欧美系列在线观看| 欧美在线视频全部完| 亚洲精品一区二区在线观看| 制服丝袜在线91| 欧美精品一区二区蜜臀亚洲| 国产日产欧美一区| 亚洲精品高清在线| 麻豆免费精品视频| 成人午夜看片网址| 欧美日本一区二区三区四区| 欧美日韩一本到| 97超碰欧美中文字幕| 洋洋成人永久网站入口| 一区二区三区蜜桃网| 久久这里只有精品6| 成人av高清在线| 99精品视频在线观看| 国产精品白丝jk黑袜喷水| 色悠悠亚洲一区二区| 亚洲视频在线一区观看| 亚洲与欧洲av电影| 亚洲精品国产第一综合99久久| 亚洲蜜臀av乱码久久精品| 亚洲第一主播视频| 久久精品72免费观看| 国产成人在线视频免费播放| av电影在线观看不卡| 欧美日韩综合在线免费观看| 日韩欧美一级二级三级久久久| 久久久影院官网| 亚洲美女在线一区| 日本aⅴ亚洲精品中文乱码| 国产一区二区导航在线播放| 97久久人人超碰| 日韩西西人体444www| 国产精品系列在线| 同产精品九九九| 国产精品18久久久久久久久 | 中文字幕在线观看一区二区| 亚洲综合激情小说| 欧美日韩在线电影| 欧美高清www午色夜在线视频| 日韩精品一区二区在线| 亚洲乱码国产乱码精品精的特点 | 日韩精品一区二区三区蜜臀| 国产精品久久久久aaaa樱花 | av毛片久久久久**hd| 欧美一区二区黄| 亚洲色大成网站www久久九九| 日本系列欧美系列| 9l国产精品久久久久麻豆| 日韩一区二区不卡| 亚洲女子a中天字幕| 国产真实乱偷精品视频免| 欧美性色黄大片| 日本一区二区成人在线| 日韩福利电影在线| 色播五月激情综合网| 久久综合视频网| 三级精品在线观看| 97国产一区二区| 久久精品一区二区三区不卡| 亚洲va在线va天堂| 99在线精品观看| 国产午夜亚洲精品不卡| 蜜桃一区二区三区在线| 欧亚一区二区三区| 国产精品家庭影院| 懂色av一区二区三区免费观看 | 国产精品毛片大码女人| 久久99精品久久久久婷婷| 欧美自拍偷拍午夜视频| 国产精品免费视频网站| 韩国三级在线一区| 欧美一区二区三区在线看| 亚洲一区二区三区国产| av在线不卡观看免费观看| 久久久91精品国产一区二区精品 | 国产丝袜美腿一区二区三区| 免费高清不卡av| 欧美日韩大陆在线| 一区二区三区久久| 懂色av中文字幕一区二区三区| 免费在线视频一区| 欧美中文字幕亚洲一区二区va在线 | 亚洲国产精品ⅴa在线观看| 日日夜夜精品视频免费| 老司机午夜精品99久久| 国产精品一二三| 久久久久久麻豆| 麻豆国产精品一区二区三区| 777亚洲妇女| 午夜精品福利一区二区蜜股av| 国产99久久久久久免费看农村| 成人成人成人在线视频| 午夜精品一区二区三区电影天堂 | 亚洲男人的天堂av| 成+人+亚洲+综合天堂| 中文成人综合网| hitomi一区二区三区精品| 国产精品区一区二区三区| 成人av电影免费观看| 亚洲欧洲三级电影| 92国产精品观看| 亚洲裸体在线观看| 色视频成人在线观看免| 亚洲在线观看免费| 777奇米四色成人影色区| 奇米亚洲午夜久久精品| 日韩欧美精品在线视频| 国内精品国产三级国产a久久| 精品91自产拍在线观看一区| 国产乱淫av一区二区三区| 国产午夜精品一区二区三区视频| 成人性生交大片免费看在线播放 | 成人一级片在线观看| 国产精品毛片久久久久久久| 色菇凉天天综合网| 午夜私人影院久久久久| 日韩视频123| 国产成人精品在线看| 亚洲男同性视频| 7777精品伊人久久久大香线蕉 | 一本高清dvd不卡在线观看| 一区二区三国产精华液| 日韩一区二区精品在线观看| 激情成人综合网| 国产精品美女久久久久高潮| 欧洲国内综合视频| 老司机午夜精品| 欧美日本一区二区| 亚洲男人电影天堂| 91精品国产手机| 国产精品自拍av| 一区二区三区在线不卡| 3d动漫精品啪啪一区二区竹菊| 经典一区二区三区| 亚洲欧美在线aaa| 欧美老年两性高潮| 粗大黑人巨茎大战欧美成人| 夜夜嗨av一区二区三区网页| 欧美大胆一级视频| 99久久国产免费看| 美女尤物国产一区| 最新日韩av在线| 日韩欧美一级在线播放| 99精品久久免费看蜜臀剧情介绍| 三级影片在线观看欧美日韩一区二区| 久久精品水蜜桃av综合天堂| 在线视频你懂得一区| 精品一区二区三区日韩| 一区二区三区视频在线看| 精品国产凹凸成av人导航| 一本久道中文字幕精品亚洲嫩| 久久精品国产亚洲高清剧情介绍| 亚洲日本一区二区| 精品va天堂亚洲国产| 欧美日韩中文字幕精品| 国产成人精品一区二| 性做久久久久久久免费看| 亚洲国产精品t66y| 欧美成人性福生活免费看| 在线欧美日韩精品| 夫妻av一区二区| 蜜臀av性久久久久av蜜臀妖精| 亚洲另类一区二区| 中日韩av电影| 久久蜜臀精品av| 91精品国产综合久久久久| 91丨porny丨中文| 国产麻豆成人传媒免费观看| 午夜精品福利一区二区三区蜜桃| 国产精品成人一区二区三区夜夜夜| 欧美电影在线免费观看| 美女诱惑一区二区| 五月天精品一区二区三区| 亚洲精品日韩一| 亚洲国产精品传媒在线观看| 精品三级在线看| 91麻豆精品国产91久久久更新时间 | 亚洲色图都市小说| 亚洲国产精品v| 久久色.com| 日韩免费观看2025年上映的电影| 欧美日精品一区视频| 91国产丝袜在线播放| 色哟哟在线观看一区二区三区| 不卡av在线网| 成人美女在线观看| 国产精品99久久久| 高清不卡一区二区在线| 国产69精品久久久久777| 狠狠色狠狠色合久久伊人| 精品综合久久久久久8888|