fpu_emu.c (258250) | fpu_emu.c (258780) |
---|---|
1/* $NetBSD: fpu_emu.c,v 1.14 2005/12/11 12:18:42 christos Exp $ */ 2 3/* 4 * Copyright 2001 Wasabi Systems, Inc. 5 * All rights reserved. 6 * 7 * Written by Eduardo Horvath and Simon Burge for Wasabi Systems, Inc. 8 * --- 62 unchanged lines hidden (view full) --- 71 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 72 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 73 * SUCH DAMAGE. 74 * 75 * @(#)fpu.c 8.1 (Berkeley) 6/11/93 76 */ 77 78#include <sys/cdefs.h> | 1/* $NetBSD: fpu_emu.c,v 1.14 2005/12/11 12:18:42 christos Exp $ */ 2 3/* 4 * Copyright 2001 Wasabi Systems, Inc. 5 * All rights reserved. 6 * 7 * Written by Eduardo Horvath and Simon Burge for Wasabi Systems, Inc. 8 * --- 62 unchanged lines hidden (view full) --- 71 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 72 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 73 * SUCH DAMAGE. 74 * 75 * @(#)fpu.c 8.1 (Berkeley) 6/11/93 76 */ 77 78#include <sys/cdefs.h> |
79__FBSDID("$FreeBSD: head/sys/powerpc/fpu/fpu_emu.c 258250 2013-11-17 05:03:15Z nwhitehorn $"); | 79__FBSDID("$FreeBSD: head/sys/powerpc/fpu/fpu_emu.c 258780 2013-11-30 22:17:27Z eadler $"); |
80 81#include "opt_ddb.h" 82 83#include <sys/param.h> 84#include <sys/systm.h> 85#include <sys/kdb.h> 86#include <sys/kernel.h> 87#include <sys/proc.h> --- 407 unchanged lines hidden (view full) --- 495 (~(FPSCR_VX|FPSR_EX) & (1<<(31-rt))); 496 break; 497 case OPC63_FNEG: 498 FPU_EMU_EVCNT_INCR(fnegabs); 499 DPRINTF(FPE_INSN, ("fpu_execute: FNEGABS\n")); 500 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 501 sizeof(double)); 502 a = (int *)&fs->fpreg[rt]; | 80 81#include "opt_ddb.h" 82 83#include <sys/param.h> 84#include <sys/systm.h> 85#include <sys/kdb.h> 86#include <sys/kernel.h> 87#include <sys/proc.h> --- 407 unchanged lines hidden (view full) --- 495 (~(FPSCR_VX|FPSR_EX) & (1<<(31-rt))); 496 break; 497 case OPC63_FNEG: 498 FPU_EMU_EVCNT_INCR(fnegabs); 499 DPRINTF(FPE_INSN, ("fpu_execute: FNEGABS\n")); 500 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 501 sizeof(double)); 502 a = (int *)&fs->fpreg[rt]; |
503 *a ^= (1 << 31); | 503 *a ^= (1U << 31); |
504 break; 505 case OPC63_MCRFS: 506 FPU_EMU_EVCNT_INCR(mcrfs); 507 DPRINTF(FPE_INSN, ("fpu_execute: MCRFS\n")); 508 cond = 0; 509 rt &= 0x1c; 510 ra &= 0x1c; 511 /* Extract the bits we want */ --- 30 unchanged lines hidden (view full) --- 542/* XXX weird stuff about OX, FX, FEX, and VX should be handled */ 543 break; 544 case OPC63_FNABS: 545 FPU_EMU_EVCNT_INCR(fnabs); 546 DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); 547 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 548 sizeof(double)); 549 a = (int *)&fs->fpreg[rt]; | 504 break; 505 case OPC63_MCRFS: 506 FPU_EMU_EVCNT_INCR(mcrfs); 507 DPRINTF(FPE_INSN, ("fpu_execute: MCRFS\n")); 508 cond = 0; 509 rt &= 0x1c; 510 ra &= 0x1c; 511 /* Extract the bits we want */ --- 30 unchanged lines hidden (view full) --- 542/* XXX weird stuff about OX, FX, FEX, and VX should be handled */ 543 break; 544 case OPC63_FNABS: 545 FPU_EMU_EVCNT_INCR(fnabs); 546 DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); 547 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 548 sizeof(double)); 549 a = (int *)&fs->fpreg[rt]; |
550 *a |= (1 << 31); | 550 *a |= (1U << 31); |
551 break; 552 case OPC63_FABS: 553 FPU_EMU_EVCNT_INCR(fabs); 554 DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); 555 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 556 sizeof(double)); 557 a = (int *)&fs->fpreg[rt]; | 551 break; 552 case OPC63_FABS: 553 FPU_EMU_EVCNT_INCR(fabs); 554 DPRINTF(FPE_INSN, ("fpu_execute: FABS\n")); 555 memcpy(&fs->fpreg[rt], &fs->fpreg[rb], 556 sizeof(double)); 557 a = (int *)&fs->fpreg[rt]; |
558 *a &= ~(1 << 31); | 558 *a &= ~(1U << 31); |
559 break; 560 case OPC63_MFFS: 561 FPU_EMU_EVCNT_INCR(mffs); 562 DPRINTF(FPE_INSN, ("fpu_execute: MFFS\n")); 563 memcpy(&fs->fpreg[rt], &fs->fpscr, 564 sizeof(fs->fpscr)); 565 break; 566 case OPC63_MTFSF: --- 228 unchanged lines hidden --- | 559 break; 560 case OPC63_MFFS: 561 FPU_EMU_EVCNT_INCR(mffs); 562 DPRINTF(FPE_INSN, ("fpu_execute: MFFS\n")); 563 memcpy(&fs->fpreg[rt], &fs->fpscr, 564 sizeof(fs->fpscr)); 565 break; 566 case OPC63_MTFSF: --- 228 unchanged lines hidden --- |