A forgotten file.
This commit is contained in:
50
src/cpu/x86_ops_mmx.c
Normal file
50
src/cpu/x86_ops_mmx.c
Normal file
@@ -0,0 +1,50 @@
|
||||
#include <stdarg.h>
|
||||
#include <stdint.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <wchar.h>
|
||||
#include <math.h>
|
||||
#ifndef INFINITY
|
||||
# define INFINITY (__builtin_inff())
|
||||
#endif
|
||||
#define HAVE_STDARG_H
|
||||
#include <86box/86box.h>
|
||||
#include "cpu.h"
|
||||
#include <86box/timer.h>
|
||||
#include "x86.h"
|
||||
#include "x87.h"
|
||||
#include <86box/nmi.h>
|
||||
#include <86box/mem.h>
|
||||
#include <86box/smram.h>
|
||||
#include <86box/pic.h>
|
||||
#include <86box/pit.h>
|
||||
#include <86box/fdd.h>
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/keyboard.h>
|
||||
#include <86box/timer.h>
|
||||
#include "386_common.h"
|
||||
#include "x86_flags.h"
|
||||
#include "x86seg.h"
|
||||
|
||||
MMX_REG *MMP[8];
|
||||
uint16_t *MMEP[8];
|
||||
|
||||
static uint16_t MME[8];
|
||||
|
||||
#define MMX_GETREGP(r) fpu_softfloat ? ((MMX_REG *) &fpu_state.st_space[r].fraction) : &(cpu_state.MM[r])
|
||||
void
|
||||
mmx_init(void)
|
||||
{
|
||||
memset(MME, 0xff, sizeof(MME));
|
||||
|
||||
for (uint8_t i = 0; i < 8; i++) {
|
||||
if (fpu_softfloat) {
|
||||
MMP[i] = (MMX_REG *) &fpu_state.st_space[i].fraction;
|
||||
MMEP[i] = (uint16_t *) &fpu_state.st_space[i].exp;
|
||||
} else {
|
||||
MMP[i] = &(cpu_state.MM[i]);
|
||||
MMEP[i] = &(MME[i]);
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user