]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
Revert "JIT: Fix fldcw_m_indexed for x86-64"
authorFrode Solheim <frode@fs-uae.net>
Mon, 12 Oct 2015 21:24:48 +0000 (23:24 +0200)
committerFrode Solheim <frode@fs-uae.net>
Mon, 12 Oct 2015 21:24:48 +0000 (23:24 +0200)
This reverts commit e71841283e993b4ed968b7b0de30a52d5a1c26b8.

jit/codegen_x86.cpp
jit/compemu_midfunc_x86.cpp
jit/compemu_support.cpp

index b5cfb05d7e6e3076b64902c18402653490d3f3ae..bb964634c00c67df6d7514dbbba5dc6e1bf7fe54 100644 (file)
@@ -4230,9 +4230,6 @@ LENDFUNC(NONE,NONE,2,raw_fmov_rr,(FW d, FR s))
 
 LOWFUNC(NONE,READ,2,raw_fldcw_m_indexed,(R4 index, IMM base))
 {
-       /* FLDCW cannot be used with x86-64-only registers */
-       assert(index <= EDI_INDEX);
-       ADDR32
        emit_byte(0xd9);
        emit_byte(0xa8+index);
        emit_long(base);
index f228830f70566a48374d3ddc00c5ca7c5692a0ed..7a6af3522af3557b90b59e9b70d85c39ad39e0a7 100644 (file)
@@ -2542,8 +2542,9 @@ MENDFUNC(2,fmov_rr,(FW d, FR s))
 
 MIDFUNC(2,fldcw_m_indexed,(RR4 index, IMM base))
 {
-       index = readreg_x86(index, 4);
-       raw_fldcw_m_indexed(index, base);
+       index=readreg(index,4);
+
+       raw_fldcw_m_indexed(index,base);
        unlock2(index);
 }
 MENDFUNC(2,fldcw_m_indexed,(RR4 index, IMM base))
index 433a643742229c10637c74cf32e80734c9e79037..51508613780df09c44e53da757a3aed800d5169f 100644 (file)
@@ -2009,27 +2009,6 @@ static int readreg_offset(int r, int size)
        return readreg_general(r,size,-1,1);
 }
 
-#ifdef UAE
-/* Allocate midlevel register to physical x86(-64) register, but make sure
- * it is one of the (32-bit) x86 general purpose registers. */
-static int readreg_x86(int r, int size)
-{
-       /* First, try to use the normal register allocation routine. */
-       int s = readreg(r, size);
-#ifdef CPU_x86_64
-       if (s > EDI_INDEX) {
-               /* We got a x86-64-specific register */
-               jit_log("Got register %d in readreg_x86, must re-assign", s);
-               unlock2(s);
-               /* It would be better to loop through live.nat and find a
-                * suitable register which does not need saving to memory. */
-               s = readreg_specific(r, size, EDI_INDEX);
-       }
-#endif
-       return s;
-}
-#endif
-
 /* writereg_general(r, size, spec)
  *
  * INPUT