gbeauche
a7888c6c64
fix underquoted definitions
2006-04-06 22:36:43 +00:00
gbeauche
5678c1d37d
Detect SSE3 & SSE4.
2006-04-01 22:14:33 +00:00
gbeauche
b288f6278e
Helper macros to annotate likely branch directions. Colateral effect: this
...
also fixes build with GCC 4.1 (ppc-dyngen-ops.cpp) since the branches are
re-ordered in a way there is now only one exit-point in op_jump_next_A0().
2006-04-01 21:41:19 +00:00
gbeauche
d475faf4ba
Copy constants to 32-bit addressable data pool. This fixes -pie builds on
...
x86_64: program resides above 32-bit barrier and JIT generated code wants
(knowingly) to access globals directly.
2006-01-28 22:03:31 +00:00
gbeauche
d9b4b31490
Merge from KPX: new exit() handling code
2006-01-28 22:00:10 +00:00
gbeauche
e0589a097e
fix new/delete mismatch in slow_allocator, also use that for lazy_allocator
2006-01-28 21:59:41 +00:00
gbeauche
022d09375f
Merge from KPX: new exit() handling code; make "syscall" illegal for MacOS
...
emulation (SheepShaver)
2006-01-28 21:57:52 +00:00
gbeauche
d4210ef902
Check whether compiler supports byte bit-fields. If so, we can enable slirp
...
emulation code since it pure C+sockets code.
2006-01-27 23:48:08 +00:00
gbeauche
6ddf123991
Adapt for new non-blocking I/O error message
2006-01-24 23:50:19 +00:00
gbeauche
02525acf32
Use FIONBIO only on pretty ancient systems.
2006-01-24 23:47:09 +00:00
gbeauche
f8c3b2c6bb
no-stack-frame optimization for linux/i386 too since it now works there too
2006-01-22 20:07:47 +00:00
gbeauche
f2d3692c08
updates
2006-01-22 16:46:41 +00:00
gbeauche
f32e053178
Apply the no-stack-frame optimization in op_invoke_*() to MacOS X for Intel
...
templates. This avoids mis-aligninment of the stack, and useless reservation
of space on it for function args. Indeed, we now pre-allocate 16 stack-slots
in op_execute() for this purpose.
2006-01-22 00:12:39 +00:00
gbeauche
51a09ecc21
Don't mis-align the stack on x86 platforms (most visible on MacOS X for Intel)
2006-01-22 00:08:32 +00:00
gbeauche
1f195045a1
__DATA,__data section may be empty (MacOS X 10.4.4 for Intel)
2006-01-22 00:07:22 +00:00
gbeauche
89700e74e2
update icon with transparency
2006-01-21 18:04:03 +00:00
gbeauche
7755bd2873
rename extfs volume name to "Unix"
2006-01-21 17:26:27 +00:00
gbeauche
46ee842be3
don't trigger interrupt through deleted cpu object (XXX may need locks)
2006-01-21 17:18:53 +00:00
gbeauche
a9468a9644
fix encoding of lis r0,0x9e00
2006-01-19 22:24:09 +00:00
gbeauche
d85590c972
adapt for older MIPSpro preprocessor
2006-01-18 23:50:16 +00:00
gbeauche
357467c97b
<cpu/jit/dyngen-exec.h> is necessary because it contains the definitions of
...
DYNGEN_FAST_DISPATCH for the direct_chaining_possible() test... [otherwise,
it was a performance regression]
2006-01-18 23:45:31 +00:00
gbeauche
73c6d2d2c0
apply the no-stack-frame optimization in op_invoke_*() to MacOS X hosts too
2006-01-18 23:06:48 +00:00
gbeauche
1313fe589b
fix for MacOS X/ppc (simply for completeness, the CPU emulator is not used
...
natively by default)
2006-01-18 23:00:59 +00:00
gbeauche
b6600ca3fe
recognize POWER5+ CPUs (e.g. p5-520)
2006-01-18 22:12:26 +00:00
gbeauche
2e7f194ff2
add generic roundf() from glibc (for IRIX/mips with older libm)
2006-01-17 23:09:18 +00:00
gbeauche
bde3eb7972
fix framework detection on OSX/intel with newer compiler that compiler that
...
fully obsoleted nested functions support (my fault anyway)
2006-01-15 11:41:23 +00:00
gbeauche
0a9a210c30
Disable direct block chaining if DYNGEN_FAST_DISPATCH is not defined. Note
...
this is a workaround prior to enabling it on mips and the future JIT.
2005-12-12 21:44:50 +00:00
gbeauche
d9fc0aa5ad
Look for g++ in /usr/freeware/bin (IRIX/mips for the JIT). Avoid false
...
positives in GCC detection, i.e. knowingly cause a syntax error if #error
was not good enough (MIPSpro CC). Fix dyngen g++ version detection if
main compiler is not g++
2005-12-12 21:22:40 +00:00
gbeauche
c71bc8cc4c
avoid unaligned memory accessed when patching the ROM (IRIX/mips)
2005-12-12 20:46:31 +00:00
gbeauche
5c287d301d
remove obsolete cygwin bits and fix allocation of NanoKernel region on
...
IRIX (aka make it POSIX compliant)
2005-12-11 23:18:47 +00:00
gbeauche
6416914c15
fix overflows for lve[bhw]x input values and vector values on 64-bit hosts
2005-12-11 20:57:45 +00:00
gbeauche
8372abd132
arrangements for non-gcc compilers
2005-12-11 18:15:34 +00:00
gbeauche
d19908c9d9
JIT now works on IRIX/mips, you need GCC for the synthetic opcodes:
...
CC=cc CXX=CC ./configure --with-dgcc=g++
Also merge MIPSPro optimization flags from Basilisk II tree.
Note that I only verified the emulator works through the testsuite
(all tests passed, including AltiVec emulation)
2005-12-11 18:15:05 +00:00
gbeauche
4866e89c3a
factor out and fix mips case for external function invocation as t9 shall
...
be set so that gp can be recomputed in the called function
2005-12-11 17:25:42 +00:00
gbeauche
92f7738f80
- Add possibility to skip a test category (ALU, FPU, VMX). This will only
...
generate target code without executing it, and not comparing results
- Fix aligned_vector_t, we can't rely on THIS pointer to be 16-byte aligned
- Also fix dummy_vector alignment
2005-12-11 17:21:07 +00:00
gbeauche
37ee682c0f
fix for mipspro compilers
2005-12-11 17:15:12 +00:00
gbeauche
63d4506a4d
add "fast" pointers to non-virtual member functions for MIPSpro compilers
2005-12-11 17:12:59 +00:00
gbeauche
dd2b9a95d5
Align PowerPC registers struct manually, i.e. don't depend on non-portable
...
compiler extensions (e.g. GCC __attribute__((aligned(N)))).
2005-12-06 22:25:13 +00:00
gbeauche
d8aa8a7459
Port JIT to IRIX/mips (initial code from QEMU)
2005-12-05 22:24:13 +00:00
gbeauche
1670c6e84d
ahem, forget this extra difference between multiarch & jit dispatcher
2005-12-05 22:10:46 +00:00
gbeauche
ecc90b0916
Better mechanism to dispatch arch-dependent JIT headers as we can't use
...
raw arch names (e.g. mips expands to 1, thus not finding the header)
2005-12-05 20:37:46 +00:00
gbeauche
d3e8f634b2
Fix build of test-powerpc on non-{x86,ppc} platforms
2005-12-04 17:46:52 +00:00
gbeauche
45cb124844
We really need a way to specify a member alignment for AltiVec emulation
...
testing. Extra fixlets for IRIX/mips and other CPU emulator in non-JIT mode
2005-12-04 17:45:41 +00:00
gbeauche
8c12552fda
GCC fixes for IRIX/mips (unsupported __generic intrinsic and probably not
...
using the fixincludes-patched internal/math_core.h file)
2005-12-04 17:44:21 +00:00
gbeauche
41ab82edce
Better IRIX support: add audio & slirp networking. Fix configure to use -lm
...
when searching for C99 functions (roundf() et al.).
2005-12-04 16:26:57 +00:00
gbeauche
f75d445700
Some compilers don't permit the use of C99 extensions from C++. This is the
...
case for MIPSPro (IRIX) for fegetround(), isinf() et al., though they are
available in the math library.
2005-12-04 16:10:01 +00:00
gbeauche
28ed73f212
Fix build in pure interpreter mode (IRIX/mips)
2005-12-04 16:07:52 +00:00
gbeauche
7a24d4c8b6
Use #pragma pack() on IRIX and enforce a means to pack structs
2005-12-04 15:58:52 +00:00
gbeauche
b17b4d7584
dos2unix
2005-12-04 15:53:55 +00:00
gbeauche
dfb7f52abd
The JIT works in Darwin/x86 too.
2005-11-30 21:42:22 +00:00