decoder.isa (3995:ef17a5754312) | decoder.isa (3997:8bcd3bd222d3) |
---|---|
1// Copyright (c) 2006-2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 724 unchanged lines hidden (view full) --- 733 0xD3: FpUnimpl::fqtoi(); 734 default: FailUnimpl::fpop1(); 735 } 736 } 737 0x35: decode OPF{ 738 format BasicOperate{ 739 0x51: fcmps({{ 740 uint8_t fcc; | 1// Copyright (c) 2006-2007 The Regents of The University of Michigan 2// All rights reserved. 3// 4// Redistribution and use in source and binary forms, with or without 5// modification, are permitted provided that the following conditions are 6// met: redistributions of source code must retain the above copyright 7// notice, this list of conditions and the following disclaimer; 8// redistributions in binary form must reproduce the above copyright --- 724 unchanged lines hidden (view full) --- 733 0xD3: FpUnimpl::fqtoi(); 734 default: FailUnimpl::fpop1(); 735 } 736 } 737 0x35: decode OPF{ 738 format BasicOperate{ 739 0x51: fcmps({{ 740 uint8_t fcc; |
741 if(isnan(Frs1s) || isnan(Frs2s)) | 741 if(std::isnan(Frs1s) || std::isnan(Frs2s)) |
742 fcc = 3; 743 else if(Frs1s < Frs2s) 744 fcc = 1; 745 else if(Frs1s > Frs2s) 746 fcc = 2; 747 else 748 fcc = 0; 749 uint8_t firstbit = 10; 750 if(FCMPCC) 751 firstbit = FCMPCC * 2 + 30; 752 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 753 }}); 754 0x52: fcmpd({{ 755 uint8_t fcc; | 742 fcc = 3; 743 else if(Frs1s < Frs2s) 744 fcc = 1; 745 else if(Frs1s > Frs2s) 746 fcc = 2; 747 else 748 fcc = 0; 749 uint8_t firstbit = 10; 750 if(FCMPCC) 751 firstbit = FCMPCC * 2 + 30; 752 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 753 }}); 754 0x52: fcmpd({{ 755 uint8_t fcc; |
756 if(isnan(Frs1s) || isnan(Frs2s)) | 756 if(std::isnan(Frs1s) || std::isnan(Frs2s)) |
757 fcc = 3; 758 else if(Frs1s < Frs2s) 759 fcc = 1; 760 else if(Frs1s > Frs2s) 761 fcc = 2; 762 else 763 fcc = 0; 764 uint8_t firstbit = 10; 765 if(FCMPCC) 766 firstbit = FCMPCC * 2 + 30; 767 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 768 }}); 769 0x53: FpUnimpl::fcmpq(); | 757 fcc = 3; 758 else if(Frs1s < Frs2s) 759 fcc = 1; 760 else if(Frs1s > Frs2s) 761 fcc = 2; 762 else 763 fcc = 0; 764 uint8_t firstbit = 10; 765 if(FCMPCC) 766 firstbit = FCMPCC * 2 + 30; 767 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 768 }}); 769 0x53: FpUnimpl::fcmpq(); |
770 0x54: fcmpes({{ | 770 0x55: fcmpes({{ |
771 uint8_t fcc = 0; | 771 uint8_t fcc = 0; |
772 if(isnan(Frs1s) || isnan(Frs2s)) | 772 if(std::isnan(Frs1s) || std::isnan(Frs2s)) |
773 fault = new FpExceptionIEEE754; 774 if(Frs1s < Frs2s) 775 fcc = 1; 776 else if(Frs1s > Frs2s) 777 fcc = 2; 778 uint8_t firstbit = 10; 779 if(FCMPCC) 780 firstbit = FCMPCC * 2 + 30; 781 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 782 }}); | 773 fault = new FpExceptionIEEE754; 774 if(Frs1s < Frs2s) 775 fcc = 1; 776 else if(Frs1s > Frs2s) 777 fcc = 2; 778 uint8_t firstbit = 10; 779 if(FCMPCC) 780 firstbit = FCMPCC * 2 + 30; 781 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 782 }}); |
783 0x55: fcmped({{ | 783 0x56: fcmped({{ |
784 uint8_t fcc = 0; | 784 uint8_t fcc = 0; |
785 if(isnan(Frs1s) || isnan(Frs2s)) | 785 if(std::isnan(Frs1s) || std::isnan(Frs2s)) |
786 fault = new FpExceptionIEEE754; 787 if(Frs1s < Frs2s) 788 fcc = 1; 789 else if(Frs1s > Frs2s) 790 fcc = 2; 791 uint8_t firstbit = 10; 792 if(FCMPCC) 793 firstbit = FCMPCC * 2 + 30; 794 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 795 }}); | 786 fault = new FpExceptionIEEE754; 787 if(Frs1s < Frs2s) 788 fcc = 1; 789 else if(Frs1s > Frs2s) 790 fcc = 2; 791 uint8_t firstbit = 10; 792 if(FCMPCC) 793 firstbit = FCMPCC * 2 + 30; 794 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 795 }}); |
796 0x56: FpUnimpl::fcmpeq(); | 796 0x57: FpUnimpl::fcmpeq(); |
797 default: FailUnimpl::fpop2(); 798 } 799 } 800 //This used to be just impdep1, but now it's a whole bunch 801 //of instructions 802 0x36: decode OPF{ 803 0x00: FailUnimpl::edge8(); 804 0x01: FailUnimpl::edge8n(); --- 554 unchanged lines hidden --- | 797 default: FailUnimpl::fpop2(); 798 } 799 } 800 //This used to be just impdep1, but now it's a whole bunch 801 //of instructions 802 0x36: decode OPF{ 803 0x00: FailUnimpl::edge8(); 804 0x01: FailUnimpl::edge8n(); --- 554 unchanged lines hidden --- |