cp1emu.c (84a73014d86fd660822a20c032625e3afe99ca58) | cp1emu.c (e4553573b37c3f72533683cb5f3a1ad300b18d37) |
---|---|
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. --- 1252 unchanged lines hidden (view full) --- 1261 ir = (ir & (~0xffff)) | MM_NOP16; 1262 1263 /* 1264 * Single step the non-CP1 1265 * instruction in the dslot. 1266 */ 1267 sig = mips_dsemul(xcp, ir, 1268 contpc); | 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. --- 1252 unchanged lines hidden (view full) --- 1261 ir = (ir & (~0xffff)) | MM_NOP16; 1262 1263 /* 1264 * Single step the non-CP1 1265 * instruction in the dslot. 1266 */ 1267 sig = mips_dsemul(xcp, ir, 1268 contpc); |
1269 if (sig < 0) 1270 break; |
|
1269 if (sig) 1270 xcp->cp0_epc = bcpc; 1271 /* 1272 * SIGILL forces out of 1273 * the emulation loop. 1274 */ 1275 return sig ? sig : SIGILL; 1276 } --- 37 unchanged lines hidden (view full) --- 1314 return SIGILL; 1315 } 1316 1317 /* 1318 * Single step the non-cp1 1319 * instruction in the dslot 1320 */ 1321 sig = mips_dsemul(xcp, ir, contpc); | 1271 if (sig) 1272 xcp->cp0_epc = bcpc; 1273 /* 1274 * SIGILL forces out of 1275 * the emulation loop. 1276 */ 1277 return sig ? sig : SIGILL; 1278 } --- 37 unchanged lines hidden (view full) --- 1316 return SIGILL; 1317 } 1318 1319 /* 1320 * Single step the non-cp1 1321 * instruction in the dslot 1322 */ 1323 sig = mips_dsemul(xcp, ir, contpc); |
1324 if (sig < 0) 1325 break; |
|
1322 if (sig) 1323 xcp->cp0_epc = bcpc; 1324 /* SIGILL forces out of the emulation loop. */ 1325 return sig ? sig : SIGILL; 1326 } else if (likely) { /* branch not taken */ 1327 /* 1328 * branch likely nullifies 1329 * dslot if not taken --- 1263 unchanged lines hidden --- | 1326 if (sig) 1327 xcp->cp0_epc = bcpc; 1328 /* SIGILL forces out of the emulation loop. */ 1329 return sig ? sig : SIGILL; 1330 } else if (likely) { /* branch not taken */ 1331 /* 1332 * branch likely nullifies 1333 * dslot if not taken --- 1263 unchanged lines hidden --- |