Revision 0f8a249a target-sparc/op.c

b/target-sparc/op.c
376 376
    env->psr = 0;
377 377
#ifdef TARGET_SPARC64
378 378
    if (!(T0 & 0xffffffff))
379
	env->psr |= PSR_ZERO;
379
        env->psr |= PSR_ZERO;
380 380
    if ((int32_t) T0 < 0)
381
	env->psr |= PSR_NEG;
381
        env->psr |= PSR_NEG;
382 382
    if ((T0 & 0xffffffff) < (src1 & 0xffffffff))
383
	env->psr |= PSR_CARRY;
383
        env->psr |= PSR_CARRY;
384 384
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) &
385
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
386
	env->psr |= PSR_OVF;
385
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
386
        env->psr |= PSR_OVF;
387 387

  
388 388
    env->xcc = 0;
389 389
    if (!T0)
390
	env->xcc |= PSR_ZERO;
390
        env->xcc |= PSR_ZERO;
391 391
    if ((int64_t) T0 < 0)
392
	env->xcc |= PSR_NEG;
392
        env->xcc |= PSR_NEG;
393 393
    if (T0 < src1)
394
	env->xcc |= PSR_CARRY;
394
        env->xcc |= PSR_CARRY;
395 395
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1ULL << 63))
396
	env->xcc |= PSR_OVF;
396
        env->xcc |= PSR_OVF;
397 397
#else
398 398
    if (!T0)
399
	env->psr |= PSR_ZERO;
399
        env->psr |= PSR_ZERO;
400 400
    if ((int32_t) T0 < 0)
401
	env->psr |= PSR_NEG;
401
        env->psr |= PSR_NEG;
402 402
    if (T0 < src1)
403
	env->psr |= PSR_CARRY;
403
        env->psr |= PSR_CARRY;
404 404
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31))
405
	env->psr |= PSR_OVF;
405
        env->psr |= PSR_OVF;
406 406
#endif
407 407
    FORCE_RET();
408 408
}
......
448 448
    }
449 449
#ifdef TARGET_SPARC64
450 450
    if (!(T0 & 0xffffffff))
451
	env->psr |= PSR_ZERO;
451
        env->psr |= PSR_ZERO;
452 452
    if ((int32_t) T0 < 0)
453
	env->psr |= PSR_NEG;
453
        env->psr |= PSR_NEG;
454 454
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) &
455
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
456
	env->psr |= PSR_OVF;
455
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
456
        env->psr |= PSR_OVF;
457 457

  
458 458
    if (!T0)
459
	env->xcc |= PSR_ZERO;
459
        env->xcc |= PSR_ZERO;
460 460
    if ((int64_t) T0 < 0)
461
	env->xcc |= PSR_NEG;
461
        env->xcc |= PSR_NEG;
462 462
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1ULL << 63))
463
	env->xcc |= PSR_OVF;
463
        env->xcc |= PSR_OVF;
464 464
#else
465 465
    if (!T0)
466
	env->psr |= PSR_ZERO;
466
        env->psr |= PSR_ZERO;
467 467
    if ((int32_t) T0 < 0)
468
	env->psr |= PSR_NEG;
468
        env->psr |= PSR_NEG;
469 469
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31))
470
	env->psr |= PSR_OVF;
470
        env->psr |= PSR_OVF;
471 471
#endif
472 472
    FORCE_RET();
473 473
}
......
481 481
    env->psr = 0;
482 482
#ifdef TARGET_SPARC64
483 483
    if (!(T0 & 0xffffffff))
484
	env->psr |= PSR_ZERO;
484
        env->psr |= PSR_ZERO;
485 485
    if ((int32_t) T0 < 0)
486
	env->psr |= PSR_NEG;
486
        env->psr |= PSR_NEG;
487 487
    if ((T0 & 0xffffffff) < (src1 & 0xffffffff))
488
	env->psr |= PSR_CARRY;
488
        env->psr |= PSR_CARRY;
489 489
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) &
490
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
491
	env->psr |= PSR_OVF;
490
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
491
        env->psr |= PSR_OVF;
492 492
    if ((src1 & 0x03) || (T1 & 0x03))
493
	env->psr |= PSR_OVF;
493
        env->psr |= PSR_OVF;
494 494

  
495 495
    env->xcc = 0;
496 496
    if (!T0)
497
	env->xcc |= PSR_ZERO;
497
        env->xcc |= PSR_ZERO;
498 498
    if ((int64_t) T0 < 0)
499
	env->xcc |= PSR_NEG;
499
        env->xcc |= PSR_NEG;
500 500
    if (T0 < src1)
501
	env->xcc |= PSR_CARRY;
501
        env->xcc |= PSR_CARRY;
502 502
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1ULL << 63))
503
	env->xcc |= PSR_OVF;
503
        env->xcc |= PSR_OVF;
504 504
#else
505 505
    if (!T0)
506
	env->psr |= PSR_ZERO;
506
        env->psr |= PSR_ZERO;
507 507
    if ((int32_t) T0 < 0)
508
	env->psr |= PSR_NEG;
508
        env->psr |= PSR_NEG;
509 509
    if (T0 < src1)
510
	env->psr |= PSR_CARRY;
510
        env->psr |= PSR_CARRY;
511 511
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31))
512
	env->psr |= PSR_OVF;
512
        env->psr |= PSR_OVF;
513 513
    if ((src1 & 0x03) || (T1 & 0x03))
514
	env->psr |= PSR_OVF;
514
        env->psr |= PSR_OVF;
515 515
#endif
516 516
    FORCE_RET();
517 517
}
......
528 528

  
529 529
#ifdef TARGET_SPARC64
530 530
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff) ^ -1) &
531
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
531
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
532 532
        raise_exception(TT_TOVF);
533 533
#else
534 534
    if ((src1 & 0x03) || (T1 & 0x03))
......
538 538
    env->psr = 0;
539 539
#ifdef TARGET_SPARC64
540 540
    if (!(T0 & 0xffffffff))
541
	env->psr |= PSR_ZERO;
541
        env->psr |= PSR_ZERO;
542 542
    if ((int32_t) T0 < 0)
543
	env->psr |= PSR_NEG;
543
        env->psr |= PSR_NEG;
544 544
    if ((T0 & 0xffffffff) < (src1 & 0xffffffff))
545
	env->psr |= PSR_CARRY;
545
        env->psr |= PSR_CARRY;
546 546

  
547 547
    env->xcc = 0;
548 548
    if (!T0)
549
	env->xcc |= PSR_ZERO;
549
        env->xcc |= PSR_ZERO;
550 550
    if ((int64_t) T0 < 0)
551
	env->xcc |= PSR_NEG;
551
        env->xcc |= PSR_NEG;
552 552
    if (T0 < src1)
553
	env->xcc |= PSR_CARRY;
553
        env->xcc |= PSR_CARRY;
554 554
#else
555 555
    if (!T0)
556
	env->psr |= PSR_ZERO;
556
        env->psr |= PSR_ZERO;
557 557
    if ((int32_t) T0 < 0)
558
	env->psr |= PSR_NEG;
558
        env->psr |= PSR_NEG;
559 559
    if (T0 < src1)
560
	env->psr |= PSR_CARRY;
560
        env->psr |= PSR_CARRY;
561 561
#endif
562 562
    FORCE_RET();
563 563
}
......
576 576
    env->psr = 0;
577 577
#ifdef TARGET_SPARC64
578 578
    if (!(T0 & 0xffffffff))
579
	env->psr |= PSR_ZERO;
579
        env->psr |= PSR_ZERO;
580 580
    if ((int32_t) T0 < 0)
581
	env->psr |= PSR_NEG;
581
        env->psr |= PSR_NEG;
582 582
    if ((src1 & 0xffffffff) < (T1 & 0xffffffff))
583
	env->psr |= PSR_CARRY;
583
        env->psr |= PSR_CARRY;
584 584
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff)) &
585
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
586
	env->psr |= PSR_OVF;
585
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
586
        env->psr |= PSR_OVF;
587 587

  
588 588
    env->xcc = 0;
589 589
    if (!T0)
590
	env->xcc |= PSR_ZERO;
590
        env->xcc |= PSR_ZERO;
591 591
    if ((int64_t) T0 < 0)
592
	env->xcc |= PSR_NEG;
592
        env->xcc |= PSR_NEG;
593 593
    if (src1 < T1)
594
	env->xcc |= PSR_CARRY;
594
        env->xcc |= PSR_CARRY;
595 595
    if (((src1 ^ T1) & (src1 ^ T0)) & (1ULL << 63))
596
	env->xcc |= PSR_OVF;
596
        env->xcc |= PSR_OVF;
597 597
#else
598 598
    if (!T0)
599
	env->psr |= PSR_ZERO;
599
        env->psr |= PSR_ZERO;
600 600
    if ((int32_t) T0 < 0)
601
	env->psr |= PSR_NEG;
601
        env->psr |= PSR_NEG;
602 602
    if (src1 < T1)
603
	env->psr |= PSR_CARRY;
603
        env->psr |= PSR_CARRY;
604 604
    if (((src1 ^ T1) & (src1 ^ T0)) & (1 << 31))
605
	env->psr |= PSR_OVF;
605
        env->psr |= PSR_OVF;
606 606
#endif
607 607
    FORCE_RET();
608 608
}
......
648 648
    }
649 649
#ifdef TARGET_SPARC64
650 650
    if (!(T0 & 0xffffffff))
651
	env->psr |= PSR_ZERO;
651
        env->psr |= PSR_ZERO;
652 652
    if ((int32_t) T0 < 0)
653
	env->psr |= PSR_NEG;
653
        env->psr |= PSR_NEG;
654 654
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff)) &
655
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
656
	env->psr |= PSR_OVF;
655
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
656
        env->psr |= PSR_OVF;
657 657

  
658 658
    if (!T0)
659
	env->xcc |= PSR_ZERO;
659
        env->xcc |= PSR_ZERO;
660 660
    if ((int64_t) T0 < 0)
661
	env->xcc |= PSR_NEG;
661
        env->xcc |= PSR_NEG;
662 662
    if (((src1 ^ T1) & (src1 ^ T0)) & (1ULL << 63))
663
	env->xcc |= PSR_OVF;
663
        env->xcc |= PSR_OVF;
664 664
#else
665 665
    if (!T0)
666
	env->psr |= PSR_ZERO;
666
        env->psr |= PSR_ZERO;
667 667
    if ((int32_t) T0 < 0)
668
	env->psr |= PSR_NEG;
668
        env->psr |= PSR_NEG;
669 669
    if (((src1 ^ T1) & (src1 ^ T0)) & (1 << 31))
670
	env->psr |= PSR_OVF;
670
        env->psr |= PSR_OVF;
671 671
#endif
672 672
    FORCE_RET();
673 673
}
......
681 681
    env->psr = 0;
682 682
#ifdef TARGET_SPARC64
683 683
    if (!(T0 & 0xffffffff))
684
	env->psr |= PSR_ZERO;
684
        env->psr |= PSR_ZERO;
685 685
    if ((int32_t) T0 < 0)
686
	env->psr |= PSR_NEG;
686
        env->psr |= PSR_NEG;
687 687
    if ((src1 & 0xffffffff) < (T1 & 0xffffffff))
688
	env->psr |= PSR_CARRY;
688
        env->psr |= PSR_CARRY;
689 689
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff)) &
690
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
691
	env->psr |= PSR_OVF;
690
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
691
        env->psr |= PSR_OVF;
692 692
    if ((src1 & 0x03) || (T1 & 0x03))
693
	env->psr |= PSR_OVF;
693
        env->psr |= PSR_OVF;
694 694

  
695 695
    env->xcc = 0;
696 696
    if (!T0)
697
	env->xcc |= PSR_ZERO;
697
        env->xcc |= PSR_ZERO;
698 698
    if ((int64_t) T0 < 0)
699
	env->xcc |= PSR_NEG;
699
        env->xcc |= PSR_NEG;
700 700
    if (src1 < T1)
701
	env->xcc |= PSR_CARRY;
701
        env->xcc |= PSR_CARRY;
702 702
    if (((src1 ^ T1) & (src1 ^ T0)) & (1ULL << 63))
703
	env->xcc |= PSR_OVF;
703
        env->xcc |= PSR_OVF;
704 704
#else
705 705
    if (!T0)
706
	env->psr |= PSR_ZERO;
706
        env->psr |= PSR_ZERO;
707 707
    if ((int32_t) T0 < 0)
708
	env->psr |= PSR_NEG;
708
        env->psr |= PSR_NEG;
709 709
    if (src1 < T1)
710
	env->psr |= PSR_CARRY;
710
        env->psr |= PSR_CARRY;
711 711
    if (((src1 ^ T1) & (src1 ^ T0)) & (1 << 31))
712
	env->psr |= PSR_OVF;
712
        env->psr |= PSR_OVF;
713 713
    if ((src1 & 0x03) || (T1 & 0x03))
714
	env->psr |= PSR_OVF;
714
        env->psr |= PSR_OVF;
715 715
#endif
716 716
    FORCE_RET();
717 717
}
......
728 728

  
729 729
#ifdef TARGET_SPARC64
730 730
    if ((((src1 & 0xffffffff) ^ (T1 & 0xffffffff)) &
731
	 ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
731
         ((src1 & 0xffffffff) ^ (T0 & 0xffffffff))) & (1 << 31))
732 732
        raise_exception(TT_TOVF);
733 733
#else
734 734
    if (((src1 ^ T1) & (src1 ^ T0)) & (1 << 31))
......
738 738
    env->psr = 0;
739 739
#ifdef TARGET_SPARC64
740 740
    if (!(T0 & 0xffffffff))
741
	env->psr |= PSR_ZERO;
741
        env->psr |= PSR_ZERO;
742 742
    if ((int32_t) T0 < 0)
743
	env->psr |= PSR_NEG;
743
        env->psr |= PSR_NEG;
744 744
    if ((src1 & 0xffffffff) < (T1 & 0xffffffff))
745
	env->psr |= PSR_CARRY;
745
        env->psr |= PSR_CARRY;
746 746

  
747 747
    env->xcc = 0;
748 748
    if (!T0)
749
	env->xcc |= PSR_ZERO;
749
        env->xcc |= PSR_ZERO;
750 750
    if ((int64_t) T0 < 0)
751
	env->xcc |= PSR_NEG;
751
        env->xcc |= PSR_NEG;
752 752
    if (src1 < T1)
753
	env->xcc |= PSR_CARRY;
753
        env->xcc |= PSR_CARRY;
754 754
#else
755 755
    if (!T0)
756
	env->psr |= PSR_ZERO;
756
        env->psr |= PSR_ZERO;
757 757
    if ((int32_t) T0 < 0)
758
	env->psr |= PSR_NEG;
758
        env->psr |= PSR_NEG;
759 759
    if (src1 < T1)
760
	env->psr |= PSR_CARRY;
760
        env->psr |= PSR_CARRY;
761 761
#endif
762 762
    FORCE_RET();
763 763
}
......
833 833
    T0 += T1;
834 834
    env->psr = 0;
835 835
    if (!T0)
836
	env->psr |= PSR_ZERO;
836
        env->psr |= PSR_ZERO;
837 837
    if ((int32_t) T0 < 0)
838
	env->psr |= PSR_NEG;
838
        env->psr |= PSR_NEG;
839 839
    if (T0 < src1)
840
	env->psr |= PSR_CARRY;
840
        env->psr |= PSR_CARRY;
841 841
    if (((src1 ^ T1 ^ -1) & (src1 ^ T0)) & (1 << 31))
842
	env->psr |= PSR_OVF;
842
        env->psr |= PSR_OVF;
843 843
    env->y = (b2 << 31) | (env->y >> 1);
844 844
    FORCE_RET();
845 845
}
......
858 858

  
859 859
    x0 = x0 / x1;
860 860
    if (x0 > 0xffffffff) {
861
	T0 = 0xffffffff;
862
	T1 = 1;
861
        T0 = 0xffffffff;
862
        T1 = 1;
863 863
    } else {
864
	T0 = x0;
865
	T1 = 0;
864
        T0 = x0;
865
        T1 = 0;
866 866
    }
867 867
    FORCE_RET();
868 868
}
......
881 881

  
882 882
    x0 = x0 / x1;
883 883
    if ((int32_t) x0 != x0) {
884
	T0 = x0 < 0? 0x80000000: 0x7fffffff;
885
	T1 = 1;
884
        T0 = x0 < 0? 0x80000000: 0x7fffffff;
885
        T1 = 1;
886 886
    } else {
887
	T0 = x0;
888
	T1 = 0;
887
        T0 = x0;
888
        T1 = 0;
889 889
    }
890 890
    FORCE_RET();
891 891
}
......
895 895
    env->psr = 0;
896 896
#ifdef TARGET_SPARC64
897 897
    if (!T0)
898
	env->psr |= PSR_ZERO;
898
        env->psr |= PSR_ZERO;
899 899
    if ((int32_t) T0 < 0)
900
	env->psr |= PSR_NEG;
900
        env->psr |= PSR_NEG;
901 901
    if (T1)
902
	env->psr |= PSR_OVF;
902
        env->psr |= PSR_OVF;
903 903

  
904 904
    env->xcc = 0;
905 905
    if (!T0)
906
	env->xcc |= PSR_ZERO;
906
        env->xcc |= PSR_ZERO;
907 907
    if ((int64_t) T0 < 0)
908
	env->xcc |= PSR_NEG;
908
        env->xcc |= PSR_NEG;
909 909
#else
910 910
    if (!T0)
911
	env->psr |= PSR_ZERO;
911
        env->psr |= PSR_ZERO;
912 912
    if ((int32_t) T0 < 0)
913
	env->psr |= PSR_NEG;
913
        env->psr |= PSR_NEG;
914 914
    if (T1)
915
	env->psr |= PSR_OVF;
915
        env->psr |= PSR_OVF;
916 916
#endif
917 917
    FORCE_RET();
918 918
}
......
939 939
        raise_exception(TT_DIV_ZERO);
940 940
    }
941 941
    if (T0 == INT64_MIN && T1 == -1)
942
	T0 = INT64_MIN;
942
        T0 = INT64_MIN;
943 943
    else
944
	T0 /= (target_long) T1;
944
        T0 /= (target_long) T1;
945 945
    FORCE_RET();
946 946
}
947 947
#endif
......
951 951
    env->psr = 0;
952 952
#ifdef TARGET_SPARC64
953 953
    if (!(T0 & 0xffffffff))
954
	env->psr |= PSR_ZERO;
954
        env->psr |= PSR_ZERO;
955 955
    if ((int32_t) T0 < 0)
956
	env->psr |= PSR_NEG;
956
        env->psr |= PSR_NEG;
957 957

  
958 958
    env->xcc = 0;
959 959
    if (!T0)
960
	env->xcc |= PSR_ZERO;
960
        env->xcc |= PSR_ZERO;
961 961
    if ((int64_t) T0 < 0)
962
	env->xcc |= PSR_NEG;
962
        env->xcc |= PSR_NEG;
963 963
#else
964 964
    if (!T0)
965
	env->psr |= PSR_ZERO;
965
        env->psr |= PSR_ZERO;
966 966
    if ((int32_t) T0 < 0)
967
	env->psr |= PSR_NEG;
967
        env->psr |= PSR_NEG;
968 968
#endif
969 969
    FORCE_RET();
970 970
}
......
1200 1200
    cwp = (env->cwp - 1) & (NWINDOWS - 1);
1201 1201
    if (env->cansave == 0) {
1202 1202
        raise_exception(TT_SPILL | (env->otherwin != 0 ?
1203
				    (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1204
				    ((env->wstate & 0x7) << 2)));
1203
                                    (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1204
                                    ((env->wstate & 0x7) << 2)));
1205 1205
    } else {
1206
	if (env->cleanwin - env->canrestore == 0) {
1207
	    // XXX Clean windows without trap
1208
	    raise_exception(TT_CLRWIN);
1209
	} else {
1210
	    env->cansave--;
1211
	    env->canrestore++;
1212
	    set_cwp(cwp);
1213
	}
1206
        if (env->cleanwin - env->canrestore == 0) {
1207
            // XXX Clean windows without trap
1208
            raise_exception(TT_CLRWIN);
1209
        } else {
1210
            env->cansave--;
1211
            env->canrestore++;
1212
            set_cwp(cwp);
1213
        }
1214 1214
    }
1215 1215
    FORCE_RET();
1216 1216
}
......
1221 1221
    cwp = (env->cwp + 1) & (NWINDOWS - 1);
1222 1222
    if (env->canrestore == 0) {
1223 1223
        raise_exception(TT_FILL | (env->otherwin != 0 ?
1224
				   (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1225
				   ((env->wstate & 0x7) << 2)));
1224
                                   (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1225
                                   ((env->wstate & 0x7) << 2)));
1226 1226
    } else {
1227
	env->cansave++;
1228
	env->canrestore--;
1229
	set_cwp(cwp);
1227
        env->cansave++;
1228
        env->canrestore--;
1229
        set_cwp(cwp);
1230 1230
    }
1231 1231
    FORCE_RET();
1232 1232
}
......
1576 1576
#define F_BINOP(name)                                           \
1577 1577
    F_OP(name, s)                                               \
1578 1578
    {                                                           \
1579
	set_float_exception_flags(0, &env->fp_status);		\
1579
        set_float_exception_flags(0, &env->fp_status);          \
1580 1580
        FT0 = float32_ ## name (FT0, FT1, &env->fp_status);     \
1581
	check_ieee_exceptions();				\
1581
        check_ieee_exceptions();                                \
1582 1582
    }                                                           \
1583 1583
    F_OP(name, d)                                               \
1584 1584
    {                                                           \
1585
	set_float_exception_flags(0, &env->fp_status);		\
1585
        set_float_exception_flags(0, &env->fp_status);          \
1586 1586
        DT0 = float64_ ## name (DT0, DT1, &env->fp_status);     \
1587
	check_ieee_exceptions();				\
1587
        check_ieee_exceptions();                                \
1588 1588
    }
1589 1589

  
1590 1590
F_BINOP(add);
......
1784 1784
void OPPROTO op_fmovs_cc(void)
1785 1785
{
1786 1786
    if (T2)
1787
	FT0 = FT1;
1787
        FT0 = FT1;
1788 1788
}
1789 1789

  
1790 1790
void OPPROTO op_fmovd_cc(void)
1791 1791
{
1792 1792
    if (T2)
1793
	DT0 = DT1;
1793
        DT0 = DT1;
1794 1794
}
1795 1795

  
1796 1796
void OPPROTO op_mov_cc(void)
1797 1797
{
1798 1798
    if (T2)
1799
	T0 = T1;
1799
        T0 = T1;
1800 1800
}
1801 1801

  
1802 1802
void OPPROTO op_flushw(void)
1803 1803
{
1804 1804
    if (env->cansave != NWINDOWS - 2) {
1805 1805
        raise_exception(TT_SPILL | (env->otherwin != 0 ?
1806
				    (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1807
				    ((env->wstate & 0x7) << 2)));
1806
                                    (TT_WOTHER | ((env->wstate & 0x38) >> 1)):
1807
                                    ((env->wstate & 0x7) << 2)));
1808 1808
    }
1809 1809
}
1810 1810

  
......
1812 1812
{
1813 1813
    env->cansave++;
1814 1814
    if (env->otherwin == 0)
1815
	env->canrestore--;
1815
        env->canrestore--;
1816 1816
    else
1817
	env->otherwin--;
1817
        env->otherwin--;
1818 1818
    FORCE_RET();
1819 1819
}
1820 1820

  
......
1822 1822
{
1823 1823
    env->canrestore++;
1824 1824
    if (env->cleanwin < NWINDOWS - 1)
1825
	env->cleanwin++;
1825
        env->cleanwin++;
1826 1826
    if (env->otherwin == 0)
1827
	env->cansave--;
1827
        env->cansave--;
1828 1828
    else
1829
	env->otherwin--;
1829
        env->otherwin--;
1830 1830
    FORCE_RET();
1831 1831
}
1832 1832

  

Also available in: Unified diff