Revision 90251fb9

b/target-sparc/op.c
534 534
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
535 535
        raise_exception(TT_TOVF);
536 536
#else
537
    if ((src1 & 0x03) || (T1 & 0x03))
537
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31))
538 538
        raise_exception(TT_TOVF);
539 539
#endif
540 540

  
b/target-sparc/translate.c
2027 2027
                        gen_movl_T0_reg(rd);
2028 2028
                        break;
2029 2029
                    case 0x22: /* taddcctv */
2030
                        save_state(dc);
2030 2031
                        gen_op_tadd_T1_T0_ccTV();
2031 2032
                        gen_movl_T0_reg(rd);
2032 2033
                        break;
2033 2034
                    case 0x23: /* tsubcctv */
2035
                        save_state(dc);
2034 2036
                        gen_op_tsub_T1_T0_ccTV();
2035 2037
                        gen_movl_T0_reg(rd);
2036 2038
                        break;

Also available in: Unified diff