Revision ec444452 target-arm/helper.c

b/target-arm/helper.c
2551 2551
uint32_t VFP_HELPER(toui, s)(float32 x, CPUState *env)
2552 2552
{
2553 2553
    if (float32_is_any_nan(x)) {
2554
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2554 2555
        return 0;
2555 2556
    }
2556 2557
    return float32_to_uint32(x, &env->vfp.fp_status);
......
2559 2560
uint32_t VFP_HELPER(toui, d)(float64 x, CPUState *env)
2560 2561
{
2561 2562
    if (float64_is_any_nan(x)) {
2563
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2562 2564
        return 0;
2563 2565
    }
2564 2566
    return float64_to_uint32(x, &env->vfp.fp_status);
......
2567 2569
uint32_t VFP_HELPER(tosi, s)(float32 x, CPUState *env)
2568 2570
{
2569 2571
    if (float32_is_any_nan(x)) {
2572
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2570 2573
        return 0;
2571 2574
    }
2572 2575
    return float32_to_int32(x, &env->vfp.fp_status);
......
2575 2578
uint32_t VFP_HELPER(tosi, d)(float64 x, CPUState *env)
2576 2579
{
2577 2580
    if (float64_is_any_nan(x)) {
2581
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2578 2582
        return 0;
2579 2583
    }
2580 2584
    return float64_to_int32(x, &env->vfp.fp_status);
......
2583 2587
uint32_t VFP_HELPER(touiz, s)(float32 x, CPUState *env)
2584 2588
{
2585 2589
    if (float32_is_any_nan(x)) {
2590
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2586 2591
        return 0;
2587 2592
    }
2588 2593
    return float32_to_uint32_round_to_zero(x, &env->vfp.fp_status);
......
2591 2596
uint32_t VFP_HELPER(touiz, d)(float64 x, CPUState *env)
2592 2597
{
2593 2598
    if (float64_is_any_nan(x)) {
2599
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2594 2600
        return 0;
2595 2601
    }
2596 2602
    return float64_to_uint32_round_to_zero(x, &env->vfp.fp_status);
......
2599 2605
uint32_t VFP_HELPER(tosiz, s)(float32 x, CPUState *env)
2600 2606
{
2601 2607
    if (float32_is_any_nan(x)) {
2608
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2602 2609
        return 0;
2603 2610
    }
2604 2611
    return float32_to_int32_round_to_zero(x, &env->vfp.fp_status);
......
2607 2614
uint32_t VFP_HELPER(tosiz, d)(float64 x, CPUState *env)
2608 2615
{
2609 2616
    if (float64_is_any_nan(x)) {
2617
        float_raise(float_flag_invalid, &env->vfp.fp_status);
2610 2618
        return 0;
2611 2619
    }
2612 2620
    return float64_to_int32_round_to_zero(x, &env->vfp.fp_status);
......
2645 2653
{ \
2646 2654
    float##fsz tmp; \
2647 2655
    if (float##fsz##_is_any_nan(x)) { \
2656
        float_raise(float_flag_invalid, &env->vfp.fp_status); \
2648 2657
        return 0; \
2649 2658
    } \
2650 2659
    tmp = float##fsz##_scalbn(x, shift, &env->vfp.fp_status); \

Also available in: Unified diff