cp1emu.c (4e9561b20e2f5c1170704a81ec7e1ac961ba5e68) | cp1emu.c (a79f5f9ba5088f157482feaa6ae2bacc9da0f5db) |
---|---|
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. --- 1825 unchanged lines hidden (view full) --- 1834 return SIGILL; 1835 1836 SPFROMREG(ft, MIPSInst_FT(ir)); 1837 SPFROMREG(fs, MIPSInst_FS(ir)); 1838 rv.s = ieee754sp_fmina(fs, ft); 1839 break; 1840 } 1841 | 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. --- 1825 unchanged lines hidden (view full) --- 1834 return SIGILL; 1835 1836 SPFROMREG(ft, MIPSInst_FT(ir)); 1837 SPFROMREG(fs, MIPSInst_FS(ir)); 1838 rv.s = ieee754sp_fmina(fs, ft); 1839 break; 1840 } 1841 |
1842 case fmax_op: { 1843 union ieee754sp fs, ft; 1844 1845 if (!cpu_has_mips_r6) 1846 return SIGILL; 1847 1848 SPFROMREG(ft, MIPSInst_FT(ir)); 1849 SPFROMREG(fs, MIPSInst_FS(ir)); 1850 rv.s = ieee754sp_fmax(fs, ft); 1851 break; 1852 } 1853 1854 case fmaxa_op: { 1855 union ieee754sp fs, ft; 1856 1857 if (!cpu_has_mips_r6) 1858 return SIGILL; 1859 1860 SPFROMREG(ft, MIPSInst_FT(ir)); 1861 SPFROMREG(fs, MIPSInst_FS(ir)); 1862 rv.s = ieee754sp_fmaxa(fs, ft); 1863 break; 1864 } 1865 |
|
1842 case fabs_op: 1843 handler.u = ieee754sp_abs; 1844 goto scopuop; 1845 1846 case fneg_op: 1847 handler.u = ieee754sp_neg; 1848 goto scopuop; 1849 --- 278 unchanged lines hidden (view full) --- 2128 return SIGILL; 2129 2130 DPFROMREG(ft, MIPSInst_FT(ir)); 2131 DPFROMREG(fs, MIPSInst_FS(ir)); 2132 rv.d = ieee754dp_fmina(fs, ft); 2133 break; 2134 } 2135 | 1866 case fabs_op: 1867 handler.u = ieee754sp_abs; 1868 goto scopuop; 1869 1870 case fneg_op: 1871 handler.u = ieee754sp_neg; 1872 goto scopuop; 1873 --- 278 unchanged lines hidden (view full) --- 2152 return SIGILL; 2153 2154 DPFROMREG(ft, MIPSInst_FT(ir)); 2155 DPFROMREG(fs, MIPSInst_FS(ir)); 2156 rv.d = ieee754dp_fmina(fs, ft); 2157 break; 2158 } 2159 |
2160 case fmax_op: { 2161 union ieee754dp fs, ft; 2162 2163 if (!cpu_has_mips_r6) 2164 return SIGILL; 2165 2166 DPFROMREG(ft, MIPSInst_FT(ir)); 2167 DPFROMREG(fs, MIPSInst_FS(ir)); 2168 rv.d = ieee754dp_fmax(fs, ft); 2169 break; 2170 } 2171 2172 case fmaxa_op: { 2173 union ieee754dp fs, ft; 2174 2175 if (!cpu_has_mips_r6) 2176 return SIGILL; 2177 2178 DPFROMREG(ft, MIPSInst_FT(ir)); 2179 DPFROMREG(fs, MIPSInst_FS(ir)); 2180 rv.d = ieee754dp_fmaxa(fs, ft); 2181 break; 2182 } 2183 |
|
2136 case fabs_op: 2137 handler.u = ieee754dp_abs; 2138 goto dcopuop; 2139 2140 case fneg_op: 2141 handler.u = ieee754dp_neg; 2142 goto dcopuop; 2143 --- 401 unchanged lines hidden --- | 2184 case fabs_op: 2185 handler.u = ieee754dp_abs; 2186 goto dcopuop; 2187 2188 case fneg_op: 2189 handler.u = ieee754dp_neg; 2190 goto dcopuop; 2191 --- 401 unchanged lines hidden --- |