Deleted Added
full compact
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 ---