decoder.isa (3982:c3517459caed) | decoder.isa (3992:d08b4ae09876) |
---|---|
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 --- 720 unchanged lines hidden (view full) --- 729 }}); 730 0xD2: fdtoi({{ 731 Frds.sf = (float)static_cast<int32_t>(Frs2.df); 732 }}); 733 0xD3: Trap::fqtoi({{fault = new FpExceptionOther;}}); // unimp fpop 734 default: FailUnimpl::fpop1(); 735 } 736 } | 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 --- 720 unchanged lines hidden (view full) --- 729 }}); 730 0xD2: fdtoi({{ 731 Frds.sf = (float)static_cast<int32_t>(Frs2.df); 732 }}); 733 0xD3: Trap::fqtoi({{fault = new FpExceptionOther;}}); // unimp fpop 734 default: FailUnimpl::fpop1(); 735 } 736 } |
737 0x35: Trap::fpop2({{fault = new FpDisabled;}}); | 737 0x35: decode OPF{ 738 format BasicOperate{ 739 0x51: fcmps({{ 740 uint8_t fcc; 741 if(isnan(Frs1s) || 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; 756 if(isnan(Frs1s) || 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: Trap::fcmpq({{fault = new FpExceptionOther;}}); 770 0x54: fcmpes({{ 771 uint8_t fcc = 0; 772 if(isnan(Frs1s) || 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 }}); 783 0x55: fcmped({{ 784 uint8_t fcc = 0; 785 if(isnan(Frs1s) || 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 }}); 796 0x56: Trap::fcmpeq({{fault = new FpExceptionOther;}}); 797 default: FailUnimpl::fpop2(); 798 } 799 } |
738 //This used to be just impdep1, but now it's a whole bunch 739 //of instructions 740 0x36: decode OPF{ 741 0x00: FailUnimpl::edge8(); 742 0x01: FailUnimpl::edge8n(); 743 0x02: FailUnimpl::edge8l(); 744 0x03: FailUnimpl::edge8ln(); 745 0x04: FailUnimpl::edge16(); --- 551 unchanged lines hidden --- | 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(); 805 0x02: FailUnimpl::edge8l(); 806 0x03: FailUnimpl::edge8ln(); 807 0x04: FailUnimpl::edge16(); --- 551 unchanged lines hidden --- |