Commit Graph

55 Commits

Author SHA1 Message Date
Stanislav Shwartsman
89f057ae7b x87 fix 2009-04-27 14:00:55 +00:00
Stanislav Shwartsman
7278e563a8 typo fix 2009-04-12 19:13:13 +00:00
Stanislav Shwartsman
6ad8f485d3 improve FPU dump 2009-04-12 16:13:49 +00:00
Stanislav Shwartsman
08de514d9c code cleanup for future optimization 2009-03-10 21:43:11 +00:00
Stanislav Shwartsman
77974ab952 - removed wrong character from FSF address (converted invisible and useless
2-byte character)
2009-02-08 17:29:34 +00:00
Stanislav Shwartsman
368eb61eed Fixed gcc4 warning 2009-01-30 21:05:01 +00:00
Stanislav Shwartsman
9929e6ed78 - updated FSF address 2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
8b44524af9 Fixed problem in one of my prev commits 2008-09-18 19:10:23 +00:00
Stanislav Shwartsman
d6562492a9 Fixed bug in 64-bit mode 2008-09-16 20:40:56 +00:00
Stanislav Shwartsman
d57a211df9 Fixed handling of prefixes for EMMS
Small FPU optimization
2008-09-12 20:59:31 +00:00
Stanislav Shwartsman
9e9bc9aeeb Do not touch fdp/fds fields in x87 if not memory instruction 2008-08-23 10:48:38 +00:00
Stanislav Shwartsman
5dd02b26e3 Make even more efficient RmAddr calculation - good optimizing compiler could make more efficient code than it was before 2008-08-08 09:22:49 +00:00
Stanislav Shwartsman
92568f7525 Faster 32-bit emulation wwith 64-bit enabled mode.
~10% speedup byu optimization of 32-bit mem access
2008-06-12 19:14:40 +00:00
Stanislav Shwartsman
f331919d63 indent + FPU debug print fixes 2008-05-19 20:00:42 +00:00
Stanislav Shwartsman
307d75f632 Optimizations in FPU tag word handling - compress FPU tag word internally and expose only when calling for tag word read operations (only 4 instructions) 2008-05-10 13:34:01 +00:00
Stanislav Shwartsman
f182f11a8e - significantly improve FPU debug print
- update FPU TW before saving FPU state by FNSAVE or FNSTENV
2008-05-05 21:23:33 +00:00
Stanislav Shwartsman
7fe502bae8 Better format for FPU state dump 2008-04-30 20:41:15 +00:00
Stanislav Shwartsman
66282a2078 Fixed FRSTOR instruction 2008-04-27 20:43:38 +00:00
Stanislav Shwartsman
4ecadb915b Fixed FPU tags after FLDENV instruction 2008-04-26 20:24:20 +00:00
Stanislav Shwartsman
40bceb55fa Fixed floating point opcode masking 2008-04-26 12:14:58 +00:00
Stanislav Shwartsman
3f5263a142 Compilation fixes that allow to disable FPU by just setting BX_SUPPORT_FPU=0 2008-04-04 21:05:37 +00:00
Stanislav Shwartsman
167c7075fb Use fastcall gcc attribute for all cpu execution functions - this pure "compiler helper" optimization brings additional 2% speedup to Bochs code 2008-03-22 21:29:41 +00:00
Stanislav Shwartsman
eebd96e2d7 another whitespace cleanup by Sebastien 2008-02-05 22:33:35 +00:00
Stanislav Shwartsman
d9984bb3a1 Eliminate BxResolve call from the heart of cpu loop and move into instructions that really require this calculation. Yes, it blows the code of EVERY CPU method but it has >15% speedup ! 2008-01-10 19:37:56 +00:00
Stanislav Shwartsman
917a040cc4 Fixed more VCPP2008 warnings 2007-12-26 18:39:15 +00:00
Stanislav Shwartsman
838fb2a048 Fixing V2008 warnings - they found a bug in sse_pfp.cc ! 2007-12-23 17:21:28 +00:00
Stanislav Shwartsman
5d4e32b8da Avoid pointer params for every read_virtual_* except 16-byte SSE and 10-byte x87 reads 2007-12-20 20:58:38 +00:00
Stanislav Shwartsman
b516589e4e Changes in write_virtual_* and pop_* functions -> avoid moving parameteres by pointer 2007-12-20 18:29:42 +00:00
Stanislav Shwartsman
e51184c8cf Eliminate saving of RSP from heart of cpu_loop
Now save RSP only where it is really required
2007-11-24 14:22:34 +00:00
Stanislav Shwartsman
754e43baed FOO is 11 bit only field 2007-10-30 18:52:25 +00:00
Stanislav Shwartsman
d30a0d3699 warning fixes 2007-10-24 23:29:40 +00:00
Stanislav Shwartsman
9612691aad Debug print changed to look a bit better 2007-09-11 13:11:03 +00:00
Stanislav Shwartsman
38d1f39c77 Converted CR0 bits to one register similar to CR4 - a bit slower but helps with other features implemntation 2007-07-09 15:16:14 +00:00
Stanislav Shwartsman
26f08fdb2c Change my e-mail to #SF one 2007-03-23 21:27:13 +00:00
Stanislav Shwartsman
c7e732fc8c Merged patch from #SF site tracker 2006-09-08 11:26:04 +00:00
Stanislav Shwartsman
7b6c2587a9 Now devices could be compiled separatelly from CPU
Averything that required cpu.h include now has it explicitly and there are a lot of files not dependant by CPU at all which will compile a lot faster now ...
2006-03-06 22:03:16 +00:00
Stanislav Shwartsman
765951b1a5 Fix problem in FLDENV/FSTENV instructions 2006-01-29 17:37:23 +00:00
Stanislav Shwartsman
356cb066d4 Reverting back last commit from Kevin.
Both Intel and AMD docs say that fldenv should fault on pending exceptions.
(#MF If an unmasked x87 floating-point exception was pending)
2006-01-28 21:31:20 +00:00
Kevin Lawton
2b45a94893 fldenv does not fault on pending exceptions. Reversed the order of
the checks.
2006-01-28 20:52:08 +00:00
Kevin Lawton
88183335e9 Patch "info fpu":
o uses FPRi instead of ST(i)" (which was not quite right, as ST(0) was not the FPR at the TOP but alwasy fpr0).
  o shows the TOP, and the tag as {s,d,e,?}.
2006-01-21 00:05:30 +00:00
Stanislav Shwartsman
ab4367604c Fixed compilation error when fpu-enabled and cpu-level=3 2005-08-13 17:40:41 +00:00
Stanislav Shwartsman
afe3ff691d Another fix for FPU tag word restore in FXRESTOR instruction (the tags were assigned to incorrect registers)
Fixed FPU print state status word printing (printed partial status instead of normal status word)
2005-06-18 20:46:08 +00:00
Stanislav Shwartsman
d10731f162 Update my e-mail in source files
Update committed SF patches in changes
2005-05-12 18:07:48 +00:00
Stanislav Shwartsman
e01789b276 Add CVS header for FPU files 2005-03-20 21:19:38 +00:00
Stanislav Shwartsman
acd1d8f14f Merged patch
[1104695] msvc6 compatibility update (Royce Mitchell III)
2005-01-19 18:21:40 +00:00
Stanislav Shwartsman
5873b26a82 Speed up compilation process.
bochs.h already not include iodev.h which reduces compilation dependences for almost all cpu and fpu files, now cpu files will not be recompiled if iodev includes was changed
2004-06-19 15:20:15 +00:00
Stanislav Shwartsman
17e28e0f66 Fix merge error
Update CHANGES
2004-06-18 15:14:50 +00:00
Stanislav Shwartsman
cf6d1b8bd9 port some changes from spftfloat-fpu branch to the MT 2004-04-09 15:34:59 +00:00
Stanislav Shwartsman
d1d2fb34f0 Fixed number of compilation errors for FPU disabled case
Transfer fpu.cc from /fpu to /cpu
2003-04-22 20:21:34 +00:00
Kevin Lawton
07b0df2a8a Updated accessing of modrm/sib addressing information to
use accessors.  This lets me work on compressing the
size of fetch-decode structure (now called bxInstruction_c).

I've reduced it down to about 76 bytes.  We should be able
to do much better soon.  I needed the abstraction of the
accessors, so I have a lot of freedom to re-arrange things
without making massive future changes.

Lost a few percent of performance in these mods, but my
main focus was to get the abstraction.
2002-09-17 22:50:53 +00:00