decoder.isa (4194:af4f6022394b) | decoder.isa (4204:43daa3de387e) |
---|---|
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 --- 802 unchanged lines hidden (view full) --- 811 Fsr = insertBits(Fsr, 4,0, 0x01); 812 }}); 813 0xD3: FpUnimpl::fqtoi(); 814 default: FailUnimpl::fpop1(); 815 } 816 } 817 0x35: decode OPF{ 818 format FpBasic{ | 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 --- 802 unchanged lines hidden (view full) --- 811 Fsr = insertBits(Fsr, 4,0, 0x01); 812 }}); 813 0xD3: FpUnimpl::fqtoi(); 814 default: FailUnimpl::fpop1(); 815 } 816 } 817 0x35: decode OPF{ 818 format FpBasic{ |
819 0x01: fmovs_fcc0({{ 820 if(passesFpCondition(Fsr<11:10>, COND4)) 821 Frds = Frs2s; 822 else 823 Frds = Frds; 824 }}); 825 0x02: fmovd_fcc0({{ 826 if(passesFpCondition(Fsr<11:10>, COND4)) 827 Frd = Frs2; 828 else 829 Frd = Frd; 830 }}); 831 0x03: FpUnimpl::fmovq_fcc0(); 832 0x25: fmovrsz({{ 833 if(Rs1 == 0) 834 Frds = Frs2s; 835 else 836 Frds = Frds; 837 }}); 838 0x26: fmovrdz({{ 839 if(Rs1 == 0) 840 Frd = Frs2; 841 else 842 Frd = Frd; 843 }}); 844 0x27: FpUnimpl::fmovrqz(); 845 0x41: fmovs_fcc1({{ 846 if(passesFpCondition(Fsr<33:32>, COND4)) 847 Frds = Frs2s; 848 else 849 Frds = Frds; 850 }}); 851 0x42: fmovd_fcc1({{ 852 if(passesFpCondition(Fsr<33:32>, COND4)) 853 Frd = Frs2; 854 else 855 Frd = Frd; 856 }}); 857 0x43: FpUnimpl::fmovq_fcc1(); 858 0x45: fmovrslez({{ 859 if(Rs1 <= 0) 860 Frds = Frs2s; 861 else 862 Frds = Frds; 863 }}); 864 0x46: fmovrdlez({{ 865 if(Rs1 <= 0) 866 Frd = Frs2; 867 else 868 Frd = Frd; 869 }}); 870 0x47: FpUnimpl::fmovrqlez(); |
|
819 0x51: fcmps({{ 820 uint8_t fcc; 821 if(isnan(Frs1s) || isnan(Frs2s)) 822 fcc = 3; 823 else if(Frs1s < Frs2s) 824 fcc = 1; 825 else if(Frs1s > Frs2s) 826 fcc = 2; --- 42 unchanged lines hidden (view full) --- 869 else if(Frs1 > Frs2) 870 fcc = 2; 871 uint8_t firstbit = 10; 872 if(FCMPCC) 873 firstbit = FCMPCC * 2 + 30; 874 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 875 }}); 876 0x57: FpUnimpl::fcmpeq(); | 871 0x51: fcmps({{ 872 uint8_t fcc; 873 if(isnan(Frs1s) || isnan(Frs2s)) 874 fcc = 3; 875 else if(Frs1s < Frs2s) 876 fcc = 1; 877 else if(Frs1s > Frs2s) 878 fcc = 2; --- 42 unchanged lines hidden (view full) --- 921 else if(Frs1 > Frs2) 922 fcc = 2; 923 uint8_t firstbit = 10; 924 if(FCMPCC) 925 firstbit = FCMPCC * 2 + 30; 926 Fsr = insertBits(Fsr, firstbit +1, firstbit, fcc); 927 }}); 928 0x57: FpUnimpl::fcmpeq(); |
929 0x65: fmovrslz({{ 930 if(Rs1 < 0) 931 Frds = Frs2s; 932 else 933 Frds = Frds; 934 }}); 935 0x66: fmovrdlz({{ 936 if(Rs1 < 0) 937 Frd = Frs2; 938 else 939 Frd = Frd; 940 }}); 941 0x67: FpUnimpl::fmovrqlz(); 942 0x81: fmovs_fcc2({{ 943 if(passesFpCondition(Fsr<35:34>, COND4)) 944 Frds = Frs2s; 945 else 946 Frds = Frds; 947 }}); 948 0x82: fmovd_fcc2({{ 949 if(passesFpCondition(Fsr<35:34>, COND4)) 950 Frd = Frs2; 951 else 952 Frd = Frd; 953 }}); 954 0x83: FpUnimpl::fmovq_fcc2(); 955 0xA5: fmovrsnz({{ 956 if(Rs1 != 0) 957 Frds = Frs2s; 958 else 959 Frds = Frds; 960 }}); 961 0xA6: fmovrdnz({{ 962 if(Rs1 != 0) 963 Frd = Frs2; 964 else 965 Frd = Frd; 966 }}); 967 0xA7: FpUnimpl::fmovrqnz(); 968 0xC1: fmovs_fcc3({{ 969 if(passesFpCondition(Fsr<37:36>, COND4)) 970 Frds = Frs2s; 971 else 972 Frds = Frds; 973 }}); 974 0xC2: fmovd_fcc3({{ 975 if(passesFpCondition(Fsr<37:36>, COND4)) 976 Frd = Frs2; 977 else 978 Frd = Frd; 979 }}); 980 0xC3: FpUnimpl::fmovq_fcc3(); 981 0xC5: fmovrsgz({{ 982 if(Rs1 > 0) 983 Frds = Frs2s; 984 else 985 Frds = Frds; 986 }}); 987 0xC6: fmovrdgz({{ 988 if(Rs1 > 0) 989 Frd = Frs2; 990 else 991 Frd = Frd; 992 }}); 993 0xC7: FpUnimpl::fmovrqgz(); 994 0xE5: fmovrsgez({{ 995 if(Rs1 >= 0) 996 Frds = Frs2s; 997 else 998 Frds = Frds; 999 }}); 1000 0xE6: fmovrdgez({{ 1001 if(Rs1 >= 0) 1002 Frd = Frs2; 1003 else 1004 Frd = Frd; 1005 }}); 1006 0xE7: FpUnimpl::fmovrqgez(); 1007 0x101: fmovs_icc({{ 1008 if(passesCondition(Ccr<3:0>, COND4)) 1009 Frds = Frs2s; 1010 else 1011 Frds = Frds; 1012 }}); 1013 0x102: fmovd_icc({{ 1014 if(passesCondition(Ccr<3:0>, COND4)) 1015 Frd = Frs2; 1016 else 1017 Frd = Frd; 1018 }}); 1019 0x103: FpUnimpl::fmovq_icc(); 1020 0x181: fmovs_xcc({{ 1021 if(passesCondition(Ccr<7:4>, COND4)) 1022 Frds = Frs2s; 1023 else 1024 Frds = Frds; 1025 }}); 1026 0x182: fmovd_xcc({{ 1027 if(passesCondition(Ccr<7:4>, COND4)) 1028 Frd = Frs2; 1029 else 1030 Frd = Frd; 1031 }}); 1032 0x183: FpUnimpl::fmovq_xcc(); |
|
877 default: FailUnimpl::fpop2(); 878 } 879 } 880 //This used to be just impdep1, but now it's a whole bunch 881 //of instructions 882 0x36: decode OPF{ 883 0x00: FailUnimpl::edge8(); 884 0x01: FailUnimpl::edge8n(); --- 604 unchanged lines hidden --- | 1033 default: FailUnimpl::fpop2(); 1034 } 1035 } 1036 //This used to be just impdep1, but now it's a whole bunch 1037 //of instructions 1038 0x36: decode OPF{ 1039 0x00: FailUnimpl::edge8(); 1040 0x01: FailUnimpl::edge8n(); --- 604 unchanged lines hidden --- |