View | Details | Raw Unified | Return to bug 164243 | Differences between
and this patch

Collapse All | Expand All

(-)src/cpu/core_dynrec/risc_x64.h (-1 / +2 lines)
Lines 85-91 Link Here
85
85
86
static INLINE void gen_reg_memaddr(HostReg reg,void* data) {
86
static INLINE void gen_reg_memaddr(HostReg reg,void* data) {
87
	Bit64s diff = (Bit64s)data-((Bit64s)cache.pos+5);
87
	Bit64s diff = (Bit64s)data-((Bit64s)cache.pos+5);
88
	if ((diff<0x80000000LL) && (diff>-0x80000000LL)) {
88
	if ((Bit64u)diff<0x0000000080000000ULL ||
89
	    (Bit64u)diff>0xffffffff80000000ULL) {
89
		cache_addb(0x05+(reg<<3));
90
		cache_addb(0x05+(reg<<3));
90
		// RIP-relative addressing is offset after the instruction 
91
		// RIP-relative addressing is offset after the instruction 
91
		cache_addd((Bit32u)(((Bit64u)diff)&0xffffffffLL)); 
92
		cache_addd((Bit32u)(((Bit64u)diff)&0xffffffffLL)); 

Return to bug 164243