Revision 966439a6 target-ppc/op_helper.c

b/target-ppc/op_helper.c
311 311
                 ((uint32_t)T1 ^ (uint32_t)T0) & (1UL << 31)))) {
312 312
        xer_ov = 0;
313 313
    } else {
314
        xer_so = 1;
315 314
        xer_ov = 1;
315
        xer_so = 1;
316 316
    }
317 317
    if (likely(T1 != 0))
318 318
        xer_ca = 1;
......
327 327
                 ((uint64_t)T1 ^ (uint64_t)T0) & (1ULL << 63)))) {
328 328
        xer_ov = 0;
329 329
    } else {
330
        xer_so = 1;
331 330
        xer_ov = 1;
331
        xer_so = 1;
332 332
    }
333 333
    if (likely(T1 != 0))
334 334
        xer_ca = 1;
......
342 342
        xer_ov = 0;
343 343
        T0 = (int32_t)T0 / (int32_t)T1;
344 344
    } else {
345
        xer_so = 1;
346 345
        xer_ov = 1;
346
        xer_so = 1;
347 347
        T0 = (-1) * ((uint32_t)T0 >> 31);
348 348
    }
349 349
}
......
356 356
        xer_ov = 0;
357 357
        T0 = (int64_t)T0 / (int64_t)T1;
358 358
    } else {
359
        xer_so = 1;
360 359
        xer_ov = 1;
360
        xer_so = 1;
361 361
        T0 = (-1ULL) * ((uint64_t)T0 >> 63);
362 362
    }
363 363
}
......
369 369
        xer_ov = 0;
370 370
        T0 = (uint32_t)T0 / (uint32_t)T1;
371 371
    } else {
372
        xer_so = 1;
373 372
        xer_ov = 1;
373
        xer_so = 1;
374 374
        T0 = 0;
375 375
    }
376 376
}
......
382 382
        xer_ov = 0;
383 383
        T0 = (uint64_t)T0 / (uint64_t)T1;
384 384
    } else {
385
        xer_so = 1;
386 385
        xer_ov = 1;
386
        xer_so = 1;
387 387
        T0 = 0;
388 388
    }
389 389
}
......
475 475
                 (1UL << 31)))) {
476 476
        xer_ov = 0;
477 477
    } else {
478
        xer_so = 1;
479 478
        xer_ov = 1;
479
        xer_so = 1;
480 480
    }
481 481
    if (likely((uint32_t)T1 != UINT32_MAX))
482 482
        xer_ca = 1;
......
491 491
                 (1ULL << 63)))) {
492 492
        xer_ov = 0;
493 493
    } else {
494
        xer_so = 1;
495 494
        xer_ov = 1;
495
        xer_so = 1;
496 496
    }
497 497
    if (likely((uint64_t)T1 != UINT64_MAX))
498 498
        xer_ca = 1;
......
1073 1073
        T0 = T1 - T0;
1074 1074
        if (((uint32_t)(~T2) ^ (uint32_t)T1 ^ UINT32_MAX) &
1075 1075
            ((uint32_t)(~T2) ^ (uint32_t)T0) & (1UL << 31)) {
1076
            xer_so = 1;
1077 1076
            xer_ov = 1;
1077
            xer_so = 1;
1078 1078
        } else {
1079 1079
            xer_ov = 0;
1080 1080
        }
......
2499 2499

  
2500 2500
void do_4xx_tlbsx_ (void)
2501 2501
{
2502
    int tmp = xer_ov;
2502
    int tmp = xer_so;
2503 2503

  
2504 2504
    T0 = ppcemb_tlb_search(env, T0, env->spr[SPR_40x_PID]);
2505 2505
    if (T0 != -1)

Also available in: Unified diff