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

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

?? op_helper.c

?? QEMU 0.91 source code, supports ARM processor including S3C24xx series
?? C
?? 第 1 頁 / 共 5 頁
字號:
    } else if (unlikely(float64_is_nan(FT0) || isinfinity(FT0))) {        /* qNan / infinity conversion */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXCVI);    } else {        p.i = float64_to_int64(FT0, &env->fp_status);        FT0 = p.d;    }}void do_fctidz (void){    union {        double d;        uint64_t i;    } p;    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN conversion */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN | POWERPC_EXCP_FP_VXCVI);    } else if (unlikely(float64_is_nan(FT0) || isinfinity(FT0))) {        /* qNan / infinity conversion */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXCVI);    } else {        p.i = float64_to_int64_round_to_zero(FT0, &env->fp_status);        FT0 = p.d;    }}#endifstatic always_inline void do_fri (int rounding_mode){    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN round */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN | POWERPC_EXCP_FP_VXCVI);    } else if (unlikely(float64_is_nan(FT0) || isinfinity(FT0))) {        /* qNan / infinity round */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXCVI);    } else {        set_float_rounding_mode(rounding_mode, &env->fp_status);        FT0 = float64_round_to_int(FT0, &env->fp_status);        /* Restore rounding mode from FPSCR */        fpscr_set_rounding_mode();    }}void do_frin (void){    do_fri(float_round_nearest_even);}void do_friz (void){    do_fri(float_round_to_zero);}void do_frip (void){    do_fri(float_round_up);}void do_frim (void){    do_fri(float_round_down);}#if USE_PRECISE_EMULATIONvoid do_fmadd (void){    if (unlikely(float64_is_signaling_nan(FT0) ||                 float64_is_signaling_nan(FT1) ||                 float64_is_signaling_nan(FT2))) {        /* sNaN operation */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {#ifdef FLOAT128        /* This is the way the PowerPC specification defines it */        float128 ft0_128, ft1_128;        ft0_128 = float64_to_float128(FT0, &env->fp_status);        ft1_128 = float64_to_float128(FT1, &env->fp_status);        ft0_128 = float128_mul(ft0_128, ft1_128, &env->fp_status);        ft1_128 = float64_to_float128(FT2, &env->fp_status);        ft0_128 = float128_add(ft0_128, ft1_128, &env->fp_status);        FT0 = float128_to_float64(ft0_128, &env->fp_status);#else        /* This is OK on x86 hosts */        FT0 = (FT0 * FT1) + FT2;#endif    }}void do_fmsub (void){    if (unlikely(float64_is_signaling_nan(FT0) ||                 float64_is_signaling_nan(FT1) ||                 float64_is_signaling_nan(FT2))) {        /* sNaN operation */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {#ifdef FLOAT128        /* This is the way the PowerPC specification defines it */        float128 ft0_128, ft1_128;        ft0_128 = float64_to_float128(FT0, &env->fp_status);        ft1_128 = float64_to_float128(FT1, &env->fp_status);        ft0_128 = float128_mul(ft0_128, ft1_128, &env->fp_status);        ft1_128 = float64_to_float128(FT2, &env->fp_status);        ft0_128 = float128_sub(ft0_128, ft1_128, &env->fp_status);        FT0 = float128_to_float64(ft0_128, &env->fp_status);#else        /* This is OK on x86 hosts */        FT0 = (FT0 * FT1) - FT2;#endif    }}#endif /* USE_PRECISE_EMULATION */void do_fnmadd (void){    if (unlikely(float64_is_signaling_nan(FT0) ||                 float64_is_signaling_nan(FT1) ||                 float64_is_signaling_nan(FT2))) {        /* sNaN operation */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {#if USE_PRECISE_EMULATION#ifdef FLOAT128        /* This is the way the PowerPC specification defines it */        float128 ft0_128, ft1_128;        ft0_128 = float64_to_float128(FT0, &env->fp_status);        ft1_128 = float64_to_float128(FT1, &env->fp_status);        ft0_128 = float128_mul(ft0_128, ft1_128, &env->fp_status);        ft1_128 = float64_to_float128(FT2, &env->fp_status);        ft0_128 = float128_add(ft0_128, ft1_128, &env->fp_status);        FT0 = float128_to_float64(ft0_128, &env->fp_status);#else        /* This is OK on x86 hosts */        FT0 = (FT0 * FT1) + FT2;#endif#else        FT0 = float64_mul(FT0, FT1, &env->fp_status);        FT0 = float64_add(FT0, FT2, &env->fp_status);#endif        if (likely(!isnan(FT0)))            FT0 = float64_chs(FT0);    }}void do_fnmsub (void){    if (unlikely(float64_is_signaling_nan(FT0) ||                 float64_is_signaling_nan(FT1) ||                 float64_is_signaling_nan(FT2))) {        /* sNaN operation */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {#if USE_PRECISE_EMULATION#ifdef FLOAT128        /* This is the way the PowerPC specification defines it */        float128 ft0_128, ft1_128;        ft0_128 = float64_to_float128(FT0, &env->fp_status);        ft1_128 = float64_to_float128(FT1, &env->fp_status);        ft0_128 = float128_mul(ft0_128, ft1_128, &env->fp_status);        ft1_128 = float64_to_float128(FT2, &env->fp_status);        ft0_128 = float128_sub(ft0_128, ft1_128, &env->fp_status);        FT0 = float128_to_float64(ft0_128, &env->fp_status);#else        /* This is OK on x86 hosts */        FT0 = (FT0 * FT1) - FT2;#endif#else        FT0 = float64_mul(FT0, FT1, &env->fp_status);        FT0 = float64_sub(FT0, FT2, &env->fp_status);#endif        if (likely(!isnan(FT0)))            FT0 = float64_chs(FT0);    }}#if USE_PRECISE_EMULATIONvoid do_frsp (void){    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN square root */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {        FT0 = float64_to_float32(FT0, &env->fp_status);    }}#endif /* USE_PRECISE_EMULATION */void do_fsqrt (void){    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN square root */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else if (unlikely(fpisneg(FT0) && !iszero(FT0))) {        /* Square root of a negative nonzero number */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSQRT);    } else {        FT0 = float64_sqrt(FT0, &env->fp_status);    }}void do_fre (void){    union {        double d;        uint64_t i;    } p;    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN reciprocal */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else if (unlikely(iszero(FT0))) {        /* Zero reciprocal */        float_zero_divide_excp();    } else if (likely(isnormal(FT0))) {        FT0 = float64_div(1.0, FT0, &env->fp_status);    } else {        p.d = FT0;        if (p.i == 0x8000000000000000ULL) {            p.i = 0xFFF0000000000000ULL;        } else if (p.i == 0x0000000000000000ULL) {            p.i = 0x7FF0000000000000ULL;        } else if (isnan(FT0)) {            p.i = 0x7FF8000000000000ULL;        } else if (fpisneg(FT0)) {            p.i = 0x8000000000000000ULL;        } else {            p.i = 0x0000000000000000ULL;        }        FT0 = p.d;    }}void do_fres (void){    union {        double d;        uint64_t i;    } p;    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN reciprocal */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else if (unlikely(iszero(FT0))) {        /* Zero reciprocal */        float_zero_divide_excp();    } else if (likely(isnormal(FT0))) {#if USE_PRECISE_EMULATION        FT0 = float64_div(1.0, FT0, &env->fp_status);        FT0 = float64_to_float32(FT0, &env->fp_status);#else        FT0 = float32_div(1.0, FT0, &env->fp_status);#endif    } else {        p.d = FT0;        if (p.i == 0x8000000000000000ULL) {            p.i = 0xFFF0000000000000ULL;        } else if (p.i == 0x0000000000000000ULL) {            p.i = 0x7FF0000000000000ULL;        } else if (isnan(FT0)) {            p.i = 0x7FF8000000000000ULL;        } else if (fpisneg(FT0)) {            p.i = 0x8000000000000000ULL;        } else {            p.i = 0x0000000000000000ULL;        }        FT0 = p.d;    }}void do_frsqrte (void){    union {        double d;        uint64_t i;    } p;    if (unlikely(float64_is_signaling_nan(FT0))) {        /* sNaN reciprocal square root */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else if (unlikely(fpisneg(FT0) && !iszero(FT0))) {        /* Reciprocal square root of a negative nonzero number */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSQRT);    } else if (likely(isnormal(FT0))) {        FT0 = float64_sqrt(FT0, &env->fp_status);        FT0 = float32_div(1.0, FT0, &env->fp_status);    } else {        p.d = FT0;        if (p.i == 0x8000000000000000ULL) {            p.i = 0xFFF0000000000000ULL;        } else if (p.i == 0x0000000000000000ULL) {            p.i = 0x7FF0000000000000ULL;        } else if (isnan(FT0)) {            p.i |= 0x000FFFFFFFFFFFFFULL;        } else if (fpisneg(FT0)) {            p.i = 0x7FF8000000000000ULL;        } else {            p.i = 0x0000000000000000ULL;        }        FT0 = p.d;    }}void do_fsel (void){    if (!fpisneg(FT0) || iszero(FT0))        FT0 = FT1;    else        FT0 = FT2;}void do_fcmpu (void){    if (unlikely(float64_is_signaling_nan(FT0) ||                 float64_is_signaling_nan(FT1))) {        /* sNaN comparison */        fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN);    } else {        if (float64_lt(FT0, FT1, &env->fp_status)) {            T0 = 0x08UL;        } else if (!float64_le(FT0, FT1, &env->fp_status)) {            T0 = 0x04UL;        } else {            T0 = 0x02UL;        }    }    env->fpscr &= ~(0x0F << FPSCR_FPRF);    env->fpscr |= T0 << FPSCR_FPRF;}void do_fcmpo (void){    if (unlikely(float64_is_nan(FT0) ||                 float64_is_nan(FT1))) {        if (float64_is_signaling_nan(FT0) ||            float64_is_signaling_nan(FT1)) {            /* sNaN comparison */            fload_invalid_op_excp(POWERPC_EXCP_FP_VXSNAN |                                  POWERPC_EXCP_FP_VXVC);        } else {            /* qNaN comparison */            fload_invalid_op_excp(POWERPC_EXCP_FP_VXVC);        }    } else {        if (float64_lt(FT0, FT1, &env->fp_status)) {            T0 = 0x08UL;        } else if (!float64_le(FT0, FT1, &env->fp_status)) {            T0 = 0x04UL;        } else {            T0 = 0x02UL;        }    }    env->fpscr &= ~(0x0F << FPSCR_FPRF);    env->fpscr |= T0 << FPSCR_FPRF;}#if !defined (CONFIG_USER_ONLY)void cpu_dump_rfi (target_ulong RA, target_ulong msr);void do_store_msr (void){    T0 = hreg_store_msr(env, T0, 0);    if (T0 != 0) {        env->interrupt_request |= CPU_INTERRUPT_EXITTB;        do_raise_exception(T0);    }}static always_inline void __do_rfi (target_ulong nip, target_ulong msr,                                    target_ulong msrm, int keep_msrh){#if defined(TARGET_PPC64)    if (msr & (1ULL << MSR_SF)) {        nip = (uint64_t)nip;        msr &= (uint64_t)msrm;    } else {        nip = (uint32_t)nip;        msr = (uint32_t)(msr & msrm);        if (keep_msrh)            msr |= env->msr & ~((uint64_t)0xFFFFFFFF);    }#else    nip = (uint32_t)nip;    msr &= (uint32_t)msrm;#endif    /* XXX: beware: this is false if VLE is supported */    env->nip = nip & ~((target_ulong)0x00000003);    hreg_store_msr(env, msr, 1);#if defined (DEBUG_OP)    cpu_dump_rfi(env->nip, env->msr);#endif    /* No need to raise an exception here,     * as rfi is always the last insn of a TB     */    env->interrupt_request |= CPU_INTERRUPT_EXITTB;}void do_rfi (void){    __do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1],             ~((target_ulong)0xFFFF0000), 1);}#if defined(TARGET_PPC64)void do_rfid (void){    __do_rfi(env->spr[SPR_SRR0], env->spr[SPR_SRR1],             ~((target_ulong)0xFFFF0000), 0);}void do_hrfid (void){    __do_rfi(env->spr[SPR_HSRR0], env->spr[SPR_HSRR1],             ~((target_ulong)0xFFFF0000), 0);}#endif#endifvoid do_tw (int flags){    if (!likely(!(((int32_t)T0 < (int32_t)T1 && (flags & 0x10)) ||                  ((int32_t)T0 > (int32_t)T1 && (flags & 0x08)) ||                  ((int32_t)T0 == (int32_t)T1 && (flags & 0x04)) ||                  ((uint32_t)T0 < (uint32_t)T1 && (flags & 0x02)) ||                  ((uint32_t)T0 > (uint32_t)T1 && (flags & 0x01))))) {        do_raise_exception_err(POWERPC_EXCP_PROGRAM, POWERPC_EXCP_TRAP);    }}#if defined(TARGET_PPC64)void do_td (int flags){    if (!likely(!(((int64_t)T0 < (int64_t)T1 && (flags & 0x10)) ||                  ((int64_t)T0 > (int64_t)T1 && (flags & 0x08)) ||                  ((int64_t)T0 == (int64_t)T1 && (flags & 0x04)) ||                  ((uint64_t)T0 < (uint64_t)T1 && (flags & 0x02)) ||                  ((uint64_t)T0 > (uint64_t)T1 && (flags & 0x01)))))        do_raise_exception_err(POWERPC_EXCP_PROGRAM, POWERPC_EXCP_TRAP);}#endif/*****************************************************************************//* PowerPC 601 specific instructions (POWER bridge) */void do_POWER_abso (void){    if ((int32_t)T0 == INT32_MIN) {        T0 = INT32_MAX;        xer_ov = 1;    } else if ((int32_t)T0 < 0) {        T0 = -T0;        xer_ov = 0;    } else {        xer_ov = 0;    }    xer_so |= xer_ov;}void do_POWER_clcs (void){    switch (T0) {    case 0x0CUL:        /* Instruction cache line size */        T0 = env->icache_line_size;        break;    case 0x0DUL:        /* Data cache line size */        T0 = env->dcache_line_size;        break;    case 0x0EUL:        /* Minimum cache line size */        T0 = env->icache_line_size < env->dcache_line_size ?            env->icache_line_size : env->dcache_line_size;        break;    case 0x0FUL:        /* Maximum cache line size */        T0 = env->icache_line_size > env->dcache_line_size ?            env->icache_line_size : env->dcache_line_size;        break;    default:        /* Undefined */        break;    }}void do_POWER_div (void){    uint64_t tmp;    if (((int32_t)T0 == INT32_MIN && (int32_t)T1 == (int32_t)-1) ||        (int32_t)T1 == 0) {        T0 = UINT32_MAX * ((uint32_t)T0 >> 31);        env->spr[SPR_MQ] = 0;    } else {        tmp = ((uint64_t)T0 << 32) | env->spr[SPR_MQ];        env->spr[SPR_MQ] = tmp % T1;        T0 = tmp / (int32_t)T1;    }}void do_POWER_divo (void){    int64_t tmp;    if (((int32_t)T0 == INT32_MIN && (int32_t)T1 == (int32_t)-1) ||        (int32_t)T1 == 0) {        T0 = UINT32_MAX * ((uint32_t)T0 >> 31);        env->spr[SPR_MQ] = 0;        xer_ov = 1;    } else {        tmp = ((uint64_t)T0 << 32) | env->spr[SPR_MQ];        env->spr[SPR_MQ] = tmp % T1;        tmp /= (int32_t)T1;        if (tmp > (int64_t)INT32_MAX || tmp < (int64_t)INT32_MIN) {            xer_ov = 1;        } else {            xer_ov = 0;        }        T0 = tmp;    }    xer_so |= xer_ov;}void do_POWER_divs (void){

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂一区二区在线| 99re成人精品视频| 国产91对白在线观看九色| 94-欧美-setu| 精品sm在线观看| 午夜欧美电影在线观看| 成人国产视频在线观看| 精品理论电影在线| 五月天激情小说综合| 成人av电影在线| 精品久久一区二区三区| 亚洲人成精品久久久久| 国产1区2区3区精品美女| 欧美一区二区网站| 亚洲一区二区三区在线看| 国产精品1区二区.| 精品区一区二区| 日韩va亚洲va欧美va久久| 色婷婷国产精品| 国产精品毛片a∨一区二区三区| 精品一区二区三区视频在线观看 | 日韩一区二区精品| 一区二区三区在线视频免费观看 | 国产一区啦啦啦在线观看| 4438x亚洲最大成人网| 亚洲一区二区三区四区在线| gogo大胆日本视频一区| 欧美激情一区在线观看| 国产成人av电影在线| 久久蜜桃av一区二区天堂| 久久国产人妖系列| 久久综合九色综合欧美亚洲| 久久成人综合网| 精品卡一卡二卡三卡四在线| 激情综合亚洲精品| 久久精品视频在线免费观看| 国产在线精品国自产拍免费| 久久亚洲一级片| 国产91精品一区二区麻豆网站| 中文乱码免费一区二区| 成人午夜精品一区二区三区| 国产精品电影一区二区三区| 不卡电影一区二区三区| 亚洲激情av在线| 欧美群妇大交群中文字幕| 五月婷婷综合激情| 精品国产乱码久久久久久浪潮 | 午夜精品久久久久影视| 3751色影院一区二区三区| 久久国产精品色婷婷| 国产午夜精品久久| 色网站国产精品| 日韩激情中文字幕| 26uuu精品一区二区| www.欧美精品一二区| 亚洲一区二区三区免费视频| 欧美一二三区在线观看| 国产不卡视频一区二区三区| 亚洲三级小视频| 欧美日韩国产电影| 国产精品一区二区在线看| 亚洲欧美自拍偷拍| 欧美日韩免费电影| 国产做a爰片久久毛片 | 久久久青草青青国产亚洲免观| 国产成人免费视频| 一区二区三区四区亚洲| 日韩视频在线你懂得| 国产99久久久国产精品潘金| 亚洲一区影音先锋| 亚洲精品在线三区| 日本高清不卡视频| 久久精品av麻豆的观看方式| 亚洲日本va午夜在线电影| 国产激情偷乱视频一区二区三区| 在线视频国内自拍亚洲视频| 美国三级日本三级久久99| 国产精品久线观看视频| 欧美精品一二三区| 国产精品99久久久久久宅男| 亚洲女同ⅹxx女同tv| 日韩三级视频中文字幕| 色一区在线观看| 国产一区二区不卡老阿姨| 亚洲一区二区黄色| 欧美国产综合一区二区| 日韩欧美国产1| 在线观看精品一区| 成人性生交大片| 久久99久久精品| 艳妇臀荡乳欲伦亚洲一区| 欧美国产日韩一二三区| 欧美一区二区三区不卡| 欧美三级三级三级| 色婷婷久久久久swag精品| 国产成人免费视频一区| 捆绑变态av一区二区三区| 五月婷婷综合在线| 亚洲五月六月丁香激情| 亚洲欧洲精品一区二区三区不卡| xvideos.蜜桃一区二区| 日韩一级精品视频在线观看| 欧美日韩在线播放三区| 在线精品视频一区二区三四 | 久久久国产综合精品女国产盗摄| 欧美日韩极品在线观看一区| 在线观看欧美日本| 91免费在线视频观看| 成人高清视频免费观看| 成人精品鲁一区一区二区| 国产精品亚洲а∨天堂免在线| 久久精品国产精品亚洲综合| 日韩成人伦理电影在线观看| 日韩精品高清不卡| 免费成人美女在线观看| 美女网站一区二区| 美女精品自拍一二三四| 黑人精品欧美一区二区蜜桃| 久久精品国产免费| 国产精品一区在线| 丁香婷婷综合五月| 成人黄页在线观看| 91丝袜美女网| 欧美日本精品一区二区三区| 欧美一级免费大片| 欧美精品一区二区三区蜜臀 | 国产69精品久久久久毛片| 国产老肥熟一区二区三区| 粉嫩av一区二区三区在线播放| 国产69精品久久久久毛片| 97se亚洲国产综合自在线| 97久久久精品综合88久久| 91麻豆精品秘密| 欧美无砖专区一中文字| 欧美日韩国产首页在线观看| 日韩欧美一级二级三级| 国产亚洲午夜高清国产拍精品| 日本一区免费视频| 曰韩精品一区二区| 日韩**一区毛片| 国产91高潮流白浆在线麻豆| av午夜一区麻豆| 91精品国产综合久久久蜜臀图片| 久久综合国产精品| 一区二区三区美女视频| 老司机免费视频一区二区| 99久久国产综合精品女不卡| 欧美色图天堂网| 国产色综合久久| 亚洲一区二区欧美日韩| 国产一区在线看| 欧美亚洲动漫精品| 久久久亚洲国产美女国产盗摄| 伊人开心综合网| 国产一区91精品张津瑜| 欧洲国内综合视频| 久久一区二区三区国产精品| 亚洲激情av在线| 国产99久久久国产精品免费看 | 色猫猫国产区一区二在线视频| 欧美一区二区三区精品| 中文字幕一区二区三区色视频| 亚洲第一电影网| 北岛玲一区二区三区四区| 7777精品伊人久久久大香线蕉| 中文字幕欧美激情一区| 另类小说欧美激情| 欧美午夜不卡在线观看免费| 国产精品视频免费看| 久久99国产精品免费| 欧美三日本三级三级在线播放| 久久伊人中文字幕| 日韩av电影天堂| 在线观看亚洲a| 亚洲欧洲99久久| 国产91丝袜在线播放九色| 日韩一二在线观看| 亚洲精品久久久蜜桃| 懂色av一区二区夜夜嗨| 欧美一区二区不卡视频| 亚洲一区av在线| 色av一区二区| 亚洲欧美另类在线| 不卡电影免费在线播放一区| 久久婷婷综合激情| 麻豆成人久久精品二区三区小说| 欧美系列一区二区| 亚洲免费在线电影| 成人18精品视频| 中文字幕第一区二区| 国内久久精品视频| 精品sm在线观看| 国产一区啦啦啦在线观看| 精品国产成人系列| 久久激情五月激情| 2022国产精品视频| 国产在线不卡一区| 久久久国产午夜精品| 国产91清纯白嫩初高中在线观看 | 一区二区三区欧美久久|