cp1emu.c (e24c3bec3e8e254a3784b3e4c97bd3a76fbcc807) cp1emu.c (83d43305a1df2aa2976e3ccf012e4cf0dc29673d)
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.

--- 1764 unchanged lines hidden (view full) ---

1773
1774 SPFROMREG(ft, MIPSInst_FT(ir));
1775 SPFROMREG(fs, MIPSInst_FS(ir));
1776 SPFROMREG(fd, MIPSInst_FD(ir));
1777 rv.s = ieee754sp_maddf(fd, fs, ft);
1778 break;
1779 }
1780
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.

--- 1764 unchanged lines hidden (view full) ---

1773
1774 SPFROMREG(ft, MIPSInst_FT(ir));
1775 SPFROMREG(fs, MIPSInst_FS(ir));
1776 SPFROMREG(fd, MIPSInst_FD(ir));
1777 rv.s = ieee754sp_maddf(fd, fs, ft);
1778 break;
1779 }
1780
1781 case fmsubf_op: {
1782 union ieee754sp ft, fs, fd;
1783
1784 if (!cpu_has_mips_r6)
1785 return SIGILL;
1786
1787 SPFROMREG(ft, MIPSInst_FT(ir));
1788 SPFROMREG(fs, MIPSInst_FS(ir));
1789 SPFROMREG(fd, MIPSInst_FD(ir));
1790 rv.s = ieee754sp_msubf(fd, fs, ft);
1791 break;
1792 }
1793
1781 case fabs_op:
1782 handler.u = ieee754sp_abs;
1783 goto scopuop;
1784
1785 case fneg_op:
1786 handler.u = ieee754sp_neg;
1787 goto scopuop;
1788

--- 217 unchanged lines hidden (view full) ---

2006
2007 DPFROMREG(ft, MIPSInst_FT(ir));
2008 DPFROMREG(fs, MIPSInst_FS(ir));
2009 DPFROMREG(fd, MIPSInst_FD(ir));
2010 rv.d = ieee754dp_maddf(fd, fs, ft);
2011 break;
2012 }
2013
1794 case fabs_op:
1795 handler.u = ieee754sp_abs;
1796 goto scopuop;
1797
1798 case fneg_op:
1799 handler.u = ieee754sp_neg;
1800 goto scopuop;
1801

--- 217 unchanged lines hidden (view full) ---

2019
2020 DPFROMREG(ft, MIPSInst_FT(ir));
2021 DPFROMREG(fs, MIPSInst_FS(ir));
2022 DPFROMREG(fd, MIPSInst_FD(ir));
2023 rv.d = ieee754dp_maddf(fd, fs, ft);
2024 break;
2025 }
2026
2027 case fmsubf_op: {
2028 union ieee754dp ft, fs, fd;
2029
2030 if (!cpu_has_mips_r6)
2031 return SIGILL;
2032
2033 DPFROMREG(ft, MIPSInst_FT(ir));
2034 DPFROMREG(fs, MIPSInst_FS(ir));
2035 DPFROMREG(fd, MIPSInst_FD(ir));
2036 rv.d = ieee754dp_msubf(fd, fs, ft);
2037 break;
2038 }
2039
2014 case fabs_op:
2015 handler.u = ieee754dp_abs;
2016 goto dcopuop;
2017
2018 case fneg_op:
2019 handler.u = ieee754dp_neg;
2020 goto dcopuop;
2021

--- 401 unchanged lines hidden ---
2040 case fabs_op:
2041 handler.u = ieee754dp_abs;
2042 goto dcopuop;
2043
2044 case fneg_op:
2045 handler.u = ieee754dp_neg;
2046 goto dcopuop;
2047

--- 401 unchanged lines hidden ---