cp1emu.c (67613f02788d73541c7c9b1c851061b8c223057b) | cp1emu.c (130fe357ee895421a4aefef7b1285bf52f295afe) |
---|---|
1/* 2 * cp1emu.c: a MIPS coprocessor 1 (FPU) instruction emulator 3 * 4 * MIPS floating point support 5 * Copyright (C) 1994-2000 Algorithmics Ltd. 6 * 7 * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com 8 * Copyright (C) 2000 MIPS Technologies, Inc. --- 1740 unchanged lines hidden (view full) --- 1749 1750 SPFROMREG(rv.s, MIPSInst_FT(ir)); 1751 if (rv.w & 0x1) 1752 rv.w = 0; 1753 else 1754 SPFROMREG(rv.s, MIPSInst_FS(ir)); 1755 break; 1756 | 1/* 2 * cp1emu.c: a MIPS coprocessor 1 (FPU) instruction emulator 3 * 4 * MIPS floating point support 5 * Copyright (C) 1994-2000 Algorithmics Ltd. 6 * 7 * Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com 8 * Copyright (C) 2000 MIPS Technologies, Inc. --- 1740 unchanged lines hidden (view full) --- 1749 1750 SPFROMREG(rv.s, MIPSInst_FT(ir)); 1751 if (rv.w & 0x1) 1752 rv.w = 0; 1753 else 1754 SPFROMREG(rv.s, MIPSInst_FS(ir)); 1755 break; 1756 |
1757 case fselnez_op: 1758 if (!cpu_has_mips_r6) 1759 return SIGILL; 1760 1761 SPFROMREG(rv.s, MIPSInst_FT(ir)); 1762 if (rv.w & 0x1) 1763 SPFROMREG(rv.s, MIPSInst_FS(ir)); 1764 else 1765 rv.w = 0; 1766 break; 1767 |
|
1757 case fabs_op: 1758 handler.u = ieee754sp_abs; 1759 goto scopuop; 1760 1761 case fneg_op: 1762 handler.u = ieee754sp_neg; 1763 goto scopuop; 1764 --- 193 unchanged lines hidden (view full) --- 1958 1959 DPFROMREG(rv.d, MIPSInst_FT(ir)); 1960 if (rv.l & 0x1) 1961 rv.l = 0; 1962 else 1963 DPFROMREG(rv.d, MIPSInst_FS(ir)); 1964 break; 1965 | 1768 case fabs_op: 1769 handler.u = ieee754sp_abs; 1770 goto scopuop; 1771 1772 case fneg_op: 1773 handler.u = ieee754sp_neg; 1774 goto scopuop; 1775 --- 193 unchanged lines hidden (view full) --- 1969 1970 DPFROMREG(rv.d, MIPSInst_FT(ir)); 1971 if (rv.l & 0x1) 1972 rv.l = 0; 1973 else 1974 DPFROMREG(rv.d, MIPSInst_FS(ir)); 1975 break; 1976 |
1977 case fselnez_op: 1978 if (!cpu_has_mips_r6) 1979 return SIGILL; 1980 1981 DPFROMREG(rv.d, MIPSInst_FT(ir)); 1982 if (rv.l & 0x1) 1983 DPFROMREG(rv.d, MIPSInst_FS(ir)); 1984 else 1985 rv.l = 0; 1986 break; 1987 |
|
1966 case fabs_op: 1967 handler.u = ieee754dp_abs; 1968 goto dcopuop; 1969 1970 case fneg_op: 1971 handler.u = ieee754dp_neg; 1972 goto dcopuop; 1973 --- 401 unchanged lines hidden --- | 1988 case fabs_op: 1989 handler.u = ieee754dp_abs; 1990 goto dcopuop; 1991 1992 case fneg_op: 1993 handler.u = ieee754dp_neg; 1994 goto dcopuop; 1995 --- 401 unchanged lines hidden --- |