cp1emu.c (f8c3c6717a7128f9601b20f890d658283d59561a) cp1emu.c (67613f02788d73541c7c9b1c851061b8c223057b)
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.

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

1738 if (!cpu_has_mips_4_5_r)
1739 return SIGILL;
1740
1741 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1742 return 0;
1743 SPFROMREG(rv.s, MIPSInst_FS(ir));
1744 break;
1745
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.

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

1738 if (!cpu_has_mips_4_5_r)
1739 return SIGILL;
1740
1741 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1742 return 0;
1743 SPFROMREG(rv.s, MIPSInst_FS(ir));
1744 break;
1745
1746 case fseleqz_op:
1747 if (!cpu_has_mips_r6)
1748 return SIGILL;
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
1746 case fabs_op:
1747 handler.u = ieee754sp_abs;
1748 goto scopuop;
1749
1750 case fneg_op:
1751 handler.u = ieee754sp_neg;
1752 goto scopuop;
1753

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

1935 case fmovn_op:
1936 if (!cpu_has_mips_4_5_r)
1937 return SIGILL;
1938
1939 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1940 return 0;
1941 DPFROMREG(rv.d, MIPSInst_FS(ir));
1942 break;
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

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

1946 case fmovn_op:
1947 if (!cpu_has_mips_4_5_r)
1948 return SIGILL;
1949
1950 if (xcp->regs[MIPSInst_FT(ir)] == 0)
1951 return 0;
1952 DPFROMREG(rv.d, MIPSInst_FS(ir));
1953 break;
1954
1955 case fseleqz_op:
1956 if (!cpu_has_mips_r6)
1957 return SIGILL;
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
1943 case fabs_op:
1944 handler.u = ieee754dp_abs;
1945 goto dcopuop;
1946
1947 case fneg_op:
1948 handler.u = ieee754dp_neg;
1949 goto dcopuop;
1950

--- 401 unchanged lines hidden ---
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 ---