Revision 6a385343 target-mips/op_helper.c

b/target-mips/op_helper.c
2874 2874
#define FOP_COND_D(op, cond)                                   \
2875 2875
void helper_cmp_d_ ## op (uint64_t fdt0, uint64_t fdt1, int cc)    \
2876 2876
{                                                              \
2877
    int c = cond;                                              \
2877
    int c;                                                     \
2878
    set_float_exception_flags(0, &env->active_fpu.fp_status);  \
2879
    c = cond;                                                  \
2878 2880
    update_fcr31();                                            \
2879 2881
    if (c)                                                     \
2880 2882
        SET_FP_COND(cc, env->active_fpu);                      \
......
2884 2886
void helper_cmpabs_d_ ## op (uint64_t fdt0, uint64_t fdt1, int cc) \
2885 2887
{                                                              \
2886 2888
    int c;                                                     \
2889
    set_float_exception_flags(0, &env->active_fpu.fp_status);  \
2887 2890
    fdt0 = float64_abs(fdt0);                                  \
2888 2891
    fdt1 = float64_abs(fdt1);                                  \
2889 2892
    c = cond;                                                  \
......
2918 2921
#define FOP_COND_S(op, cond)                                   \
2919 2922
void helper_cmp_s_ ## op (uint32_t fst0, uint32_t fst1, int cc)    \
2920 2923
{                                                              \
2921
    int c = cond;                                              \
2924
    int c;                                                     \
2925
    set_float_exception_flags(0, &env->active_fpu.fp_status);  \
2926
    c = cond;                                                  \
2922 2927
    update_fcr31();                                            \
2923 2928
    if (c)                                                     \
2924 2929
        SET_FP_COND(cc, env->active_fpu);                      \
......
2928 2933
void helper_cmpabs_s_ ## op (uint32_t fst0, uint32_t fst1, int cc) \
2929 2934
{                                                              \
2930 2935
    int c;                                                     \
2936
    set_float_exception_flags(0, &env->active_fpu.fp_status);  \
2931 2937
    fst0 = float32_abs(fst0);                                  \
2932 2938
    fst1 = float32_abs(fst1);                                  \
2933 2939
    c = cond;                                                  \
......
2962 2968
#define FOP_COND_PS(op, condl, condh)                           \
2963 2969
void helper_cmp_ps_ ## op (uint64_t fdt0, uint64_t fdt1, int cc)    \
2964 2970
{                                                               \
2965
    uint32_t fst0 = fdt0 & 0XFFFFFFFF;                          \
2966
    uint32_t fsth0 = fdt0 >> 32;                                \
2967
    uint32_t fst1 = fdt1 & 0XFFFFFFFF;                          \
2968
    uint32_t fsth1 = fdt1 >> 32;                                \
2969
    int cl = condl;                                             \
2970
    int ch = condh;                                             \
2971
                                                                \
2971
    uint32_t fst0, fsth0, fst1, fsth1;                          \
2972
    int ch, cl;                                                 \
2973
    set_float_exception_flags(0, &env->active_fpu.fp_status);   \
2974
    fst0 = fdt0 & 0XFFFFFFFF;                                   \
2975
    fsth0 = fdt0 >> 32;                                         \
2976
    fst1 = fdt1 & 0XFFFFFFFF;                                   \
2977
    fsth1 = fdt1 >> 32;                                         \
2978
    cl = condl;                                                 \
2979
    ch = condh;                                                 \
2972 2980
    update_fcr31();                                             \
2973 2981
    if (cl)                                                     \
2974 2982
        SET_FP_COND(cc, env->active_fpu);                       \
......
2981 2989
}                                                               \
2982 2990
void helper_cmpabs_ps_ ## op (uint64_t fdt0, uint64_t fdt1, int cc) \
2983 2991
{                                                               \
2984
    uint32_t fst0 = float32_abs(fdt0 & 0XFFFFFFFF);             \
2985
    uint32_t fsth0 = float32_abs(fdt0 >> 32);                   \
2986
    uint32_t fst1 = float32_abs(fdt1 & 0XFFFFFFFF);             \
2987
    uint32_t fsth1 = float32_abs(fdt1 >> 32);                   \
2988
    int cl = condl;                                             \
2989
    int ch = condh;                                             \
2990
                                                                \
2992
    uint32_t fst0, fsth0, fst1, fsth1;                          \
2993
    int ch, cl;                                                 \
2994
    fst0 = float32_abs(fdt0 & 0XFFFFFFFF);                      \
2995
    fsth0 = float32_abs(fdt0 >> 32);                            \
2996
    fst1 = float32_abs(fdt1 & 0XFFFFFFFF);                      \
2997
    fsth1 = float32_abs(fdt1 >> 32);                            \
2998
    cl = condl;                                                 \
2999
    ch = condh;                                                 \
2991 3000
    update_fcr31();                                             \
2992 3001
    if (cl)                                                     \
2993 3002
        SET_FP_COND(cc, env->active_fpu);                       \

Also available in: Unified diff