Revision efd41037

b/target-mips/op_helper.c
2282 2282
{
2283 2283
    uint64_t dt2;
2284 2284

  
2285
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2285 2286
    set_float_rounding_mode(float_round_nearest_even, &env->active_fpu.fp_status);
2286 2287
    dt2 = float64_to_int64(fdt0, &env->active_fpu.fp_status);
2287 2288
    RESTORE_ROUNDING_MODE;
......
2295 2296
{
2296 2297
    uint64_t dt2;
2297 2298

  
2299
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2298 2300
    set_float_rounding_mode(float_round_nearest_even, &env->active_fpu.fp_status);
2299 2301
    dt2 = float32_to_int64(fst0, &env->active_fpu.fp_status);
2300 2302
    RESTORE_ROUNDING_MODE;
......
2308 2310
{
2309 2311
    uint32_t wt2;
2310 2312

  
2313
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2311 2314
    set_float_rounding_mode(float_round_nearest_even, &env->active_fpu.fp_status);
2312 2315
    wt2 = float64_to_int32(fdt0, &env->active_fpu.fp_status);
2313 2316
    RESTORE_ROUNDING_MODE;
......
2321 2324
{
2322 2325
    uint32_t wt2;
2323 2326

  
2327
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2324 2328
    set_float_rounding_mode(float_round_nearest_even, &env->active_fpu.fp_status);
2325 2329
    wt2 = float32_to_int32(fst0, &env->active_fpu.fp_status);
2326 2330
    RESTORE_ROUNDING_MODE;
......
2334 2338
{
2335 2339
    uint64_t dt2;
2336 2340

  
2341
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2337 2342
    dt2 = float64_to_int64_round_to_zero(fdt0, &env->active_fpu.fp_status);
2338 2343
    update_fcr31();
2339 2344
    if (GET_FP_CAUSE(env->active_fpu.fcr31) & (FP_OVERFLOW | FP_INVALID))
......
2345 2350
{
2346 2351
    uint64_t dt2;
2347 2352

  
2353
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2348 2354
    dt2 = float32_to_int64_round_to_zero(fst0, &env->active_fpu.fp_status);
2349 2355
    update_fcr31();
2350 2356
    if (GET_FP_CAUSE(env->active_fpu.fcr31) & (FP_OVERFLOW | FP_INVALID))
......
2356 2362
{
2357 2363
    uint32_t wt2;
2358 2364

  
2365
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2359 2366
    wt2 = float64_to_int32_round_to_zero(fdt0, &env->active_fpu.fp_status);
2360 2367
    update_fcr31();
2361 2368
    if (GET_FP_CAUSE(env->active_fpu.fcr31) & (FP_OVERFLOW | FP_INVALID))
......
2367 2374
{
2368 2375
    uint32_t wt2;
2369 2376

  
2377
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2370 2378
    wt2 = float32_to_int32_round_to_zero(fst0, &env->active_fpu.fp_status);
2371 2379
    update_fcr31();
2372 2380
    if (GET_FP_CAUSE(env->active_fpu.fcr31) & (FP_OVERFLOW | FP_INVALID))
......
2378 2386
{
2379 2387
    uint64_t dt2;
2380 2388

  
2389
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2381 2390
    set_float_rounding_mode(float_round_up, &env->active_fpu.fp_status);
2382 2391
    dt2 = float64_to_int64(fdt0, &env->active_fpu.fp_status);
2383 2392
    RESTORE_ROUNDING_MODE;
......
2391 2400
{
2392 2401
    uint64_t dt2;
2393 2402

  
2403
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2394 2404
    set_float_rounding_mode(float_round_up, &env->active_fpu.fp_status);
2395 2405
    dt2 = float32_to_int64(fst0, &env->active_fpu.fp_status);
2396 2406
    RESTORE_ROUNDING_MODE;
......
2404 2414
{
2405 2415
    uint32_t wt2;
2406 2416

  
2417
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2407 2418
    set_float_rounding_mode(float_round_up, &env->active_fpu.fp_status);
2408 2419
    wt2 = float64_to_int32(fdt0, &env->active_fpu.fp_status);
2409 2420
    RESTORE_ROUNDING_MODE;
......
2417 2428
{
2418 2429
    uint32_t wt2;
2419 2430

  
2431
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2420 2432
    set_float_rounding_mode(float_round_up, &env->active_fpu.fp_status);
2421 2433
    wt2 = float32_to_int32(fst0, &env->active_fpu.fp_status);
2422 2434
    RESTORE_ROUNDING_MODE;
......
2430 2442
{
2431 2443
    uint64_t dt2;
2432 2444

  
2445
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2433 2446
    set_float_rounding_mode(float_round_down, &env->active_fpu.fp_status);
2434 2447
    dt2 = float64_to_int64(fdt0, &env->active_fpu.fp_status);
2435 2448
    RESTORE_ROUNDING_MODE;
......
2443 2456
{
2444 2457
    uint64_t dt2;
2445 2458

  
2459
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2446 2460
    set_float_rounding_mode(float_round_down, &env->active_fpu.fp_status);
2447 2461
    dt2 = float32_to_int64(fst0, &env->active_fpu.fp_status);
2448 2462
    RESTORE_ROUNDING_MODE;
......
2456 2470
{
2457 2471
    uint32_t wt2;
2458 2472

  
2473
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2459 2474
    set_float_rounding_mode(float_round_down, &env->active_fpu.fp_status);
2460 2475
    wt2 = float64_to_int32(fdt0, &env->active_fpu.fp_status);
2461 2476
    RESTORE_ROUNDING_MODE;
......
2469 2484
{
2470 2485
    uint32_t wt2;
2471 2486

  
2487
    set_float_exception_flags(0, &env->active_fpu.fp_status);
2472 2488
    set_float_rounding_mode(float_round_down, &env->active_fpu.fp_status);
2473 2489
    wt2 = float32_to_int32(fst0, &env->active_fpu.fp_status);
2474 2490
    RESTORE_ROUNDING_MODE;

Also available in: Unified diff