Commit 289dcc83 authored by mudlord's avatar mudlord Committed by Libretro-Admin
Browse files

started work on adding x86 recompiler.

parent c4841e48
......@@ -423,6 +423,7 @@ else
PLATFORM_EXT := win32
CC = gcc
CXX = g++
LDFLAGS += -m32
CFLAGS += -D TARGET_NO_AREC
......@@ -502,8 +503,9 @@ PREFIX ?= /usr/local
ifeq ($(WITH_DYNAREC), arm)
else
AS=${CC_PREFIX}gcc
ASFLAGS += $(CFLAGS)
CC_AS=gcc
ASFLAGS += -m32
LDFLAGS += -m32
endif
ifeq ($(PGO_MAKE),1)
......
......@@ -3,22 +3,22 @@
.extern rdv_LinkBlock
.extern rdv_FailedToFindBlock
.extern rdv_DoInterrupts
.extern rdv_BlockCheckFail
.globl p_sh4rcb
.globl gas_offs
.globl rdv_FailedToFindBlock
.globl cycle_counter
.globl loop_no_update
.globl intc_sched
.globl bm_GetCode
.globl cycle_counter
.globl UpdateSystem
.globl rdv_DoInterrupts
.globl rdv_BlockCheckFail
###########################################
.globl ngen_LinkBlock_Shared_stub
.type ngen_LinkBlock_Shared_stub, @function
ngen_LinkBlock_Shared_stub:
pop ecx
......@@ -31,7 +31,6 @@ ngen_LinkBlock_Shared_stub:
###########################################
.globl ngen_LinkBlock_cond_Next_stub
.type ngen_LinkBlock_cond_Next_stub, @function
ngen_LinkBlock_cond_Next_stub:
mov edx,0
......@@ -42,7 +41,6 @@ ngen_LinkBlock_cond_Next_stub:
###########################################
.globl ngen_LinkBlock_cond_Branch_stub
.type ngen_LinkBlock_cond_Branch_stub, @function
ngen_LinkBlock_cond_Branch_stub:
mov edx,1
......@@ -52,7 +50,6 @@ ngen_LinkBlock_cond_Branch_stub:
###########################################
.globl ngen_LinkBlock_Generic_stub
.type ngen_LinkBlock_Generic_stub, @function
# u32 gas_offs=offsetof(Sh4RCB,cntx.jdyn);
ngen_LinkBlock_Generic_stub:
......@@ -67,7 +64,6 @@ ngen_LinkBlock_Generic_stub:
###########################################
.globl ngen_FailedToFindBlock_
.type ngen_FailedToFindBlock_, @function
ngen_FailedToFindBlock_:
mov ecx,esi
......@@ -80,7 +76,6 @@ ngen_FailedToFindBlock_:
#define SH4_TIMESLICE 448
.globl ngen_mainloop
.type ngen_mainloop, @function
ngen_mainloop:
# quick hack to maintain 16-byte alignment
......@@ -140,7 +135,6 @@ cleanup:
###########################################
.globl ngen_blockcheckfail
.type ngen_blockcheckfail, @function
ngen_blockcheckfail:
call rdv_BlockCheckFail
......@@ -150,7 +144,6 @@ ngen_blockcheckfail:
###########################################
.globl ngen_blockcheckfail2
.type ngen_blockcheckfail2, @function
ngen_blockcheckfail2:
int 3
......
......@@ -10,6 +10,10 @@
#include "hw/sh4/dyna/regalloc.h"
#include "emitter/x86_emitter.h"
#ifdef __cplusplus
extern "C" {
#endif
void ngen_opcode(RuntimeBlockInfo* block, shil_opcode* op,x86_block* x86e, bool staging, bool optimise);
......@@ -47,3 +51,8 @@ struct x86_reg_alloc: RegAlloc<x86_reg,x86_reg>
};
extern x86_reg_alloc reg;
#ifdef __cplusplus
}
#endif
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment