Stanislav Shwartsman
a80b44b6db
split more sse ops
2011-01-09 20:18:02 +00:00
Stanislav Shwartsman
a1bc92a46b
split more SSE opcodes
2011-01-08 11:20:29 +00:00
Stanislav Shwartsman
fd5558d4be
another way to implement this op
2010-12-26 20:54:23 +00:00
Stanislav Shwartsman
25b1e2e58d
split more SSE ops
2010-12-26 20:41:47 +00:00
Stanislav Shwartsman
1bd512e98d
split more SSE ops, optimizations in MMX code
2010-12-25 17:04:36 +00:00
Stanislav Shwartsman
c005444d5b
split more SSE opcodes
2010-12-25 07:59:15 +00:00
Stanislav Shwartsman
040a8e1a3a
split bunch of SSE opcodes
2010-12-24 08:35:00 +00:00
Stanislav Shwartsman
43600f3756
complete rework of SSE code
...
next step - split all SSE opcodes by ModC0
2010-12-22 21:16:02 +00:00
Stanislav Shwartsman
a63b9900a7
optimization
2010-12-19 22:50:28 +00:00
Stanislav Shwartsman
9746e16657
SSE unmasked exceptions report fix
2010-04-14 20:20:17 +00:00
Stanislav Shwartsman
cffe32dd2c
remove unused param from exception() call
2010-03-14 15:51:27 +00:00
Stanislav Shwartsman
927c3594d6
enable compilation with CPU_LEVEL <= 6
...
converted SEP to runtime option as well
2010-02-26 11:44:50 +00:00
Stanislav Shwartsman
033a20b3b2
allow to configure CPU features at runtime - implemened on example of SSE/AES/MOVBE/POPCNT
2010-02-25 22:04:31 +00:00
Stanislav Shwartsman
7254ea36a1
copyright fixes + small optimization
2009-10-14 20:45:29 +00:00
Stanislav Shwartsman
8e3276cf14
split opcodes by ModC0
2009-08-22 11:47:42 +00:00
Stanislav Shwartsman
a259ba7321
FPU2MMX again
2009-08-22 11:02:45 +00:00
Stanislav Shwartsman
7a75cad5ea
FPU2MMX fixed
2009-08-20 19:53:05 +00:00
Stanislav Shwartsman
cfa3611a5f
bugfixes, comment fixes, compilation fix in VMX
2009-06-20 20:39:51 +00:00
Stanislav Shwartsman
d5efb5c378
implemented biasing of unmasked x87 over/underflow result
2009-06-05 17:48:55 +00:00
Stanislav Shwartsman
a98a917c98
code cleanup
2009-05-28 20:18:34 +00:00
Stanislav Shwartsman
98d632c197
Fixed ROUNDxx opcodes
2009-05-21 11:44:59 +00:00
Stanislav Shwartsman
024d36fa12
x87: fixed C1 (rounding up) for overflow condition
2009-04-11 17:00:28 +00:00
Stanislav Shwartsman
08de514d9c
code cleanup for future optimization
2009-03-10 21:43:11 +00:00
Stanislav Shwartsman
9929e6ed78
- updated FSF address
2009-01-16 18:18:59 +00:00
Stanislav Shwartsman
489447ae57
Fixed FPU2MMX state transition - should be done only fater all memory faults already checked
2008-10-08 10:51: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
709d74728d
Call #UD exception directly instead of UndefinedOpcode function - for future use
2008-07-13 15:35:10 +00:00
Stanislav Shwartsman
ec1ff39a5f
Splitted memory access methods for 32 and 64-bit code.
...
The 64-bit code got >10% speedup, the 32-bit code also got about 2% because laddr cacluation optimization
2008-05-10 18:10:53 +00:00
Stanislav Shwartsman
affbdbefb4
do not cause tranition to MMX state if no MMX reg touched
2008-04-29 21:47:16 +00:00
Stanislav Shwartsman
57a8e24615
Fixed REOUNDPS/PD/SS/SD
2008-04-20 14:10:44 +00:00
Stanislav Shwartsman
a45df4b584
Fixed ROUNDPS/PD bug
2008-04-20 13:32:42 +00:00
Stanislav Shwartsman
9668e735cd
Inline fpu exceptions functions
2008-04-14 16:50:27 +00:00
Stanislav Shwartsman
026c333fa9
move handleDAZ to fpu
2008-04-04 20:03:27 +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
a2897933a3
white space cleanup
2008-02-02 21:46:54 +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
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
8b5eaa5820
Make functions inline
2007-12-16 20:37:59 +00:00
Stanislav Shwartsman
83f6eb6945
Changes copyrights for the files I wrote :)
...
Also split EqId G1 group for x86-64
2007-11-17 23:28:33 +00:00
Stanislav Shwartsman
dbb91069f4
Added SSE4_2 instructions emulation
2007-10-01 19:59:37 +00:00
Stanislav Shwartsman
02b7d8b43d
Remove 'result' variable where it is definitelly not needed - simplify sse code
2007-09-27 16:23:29 +00:00
Stanislav Shwartsman
3e3254ecc4
some speedup for SSE code - achived by code simplification
2007-09-20 22:55:03 +00:00
Stanislav Shwartsman
55365ba713
Minimize usage of result register
2007-04-19 19:09:52 +00:00
Stanislav Shwartsman
1c3e703394
Fixed DAZ handling by CVT instructions
2007-04-19 18:50:57 +00:00
Stanislav Shwartsman
5189cfbf10
SSE4 support
2007-04-19 16:12:21 +00:00
Stanislav Shwartsman
26f08fdb2c
Change my e-mail to #SF one
2007-03-23 21:27:13 +00:00
Stanislav Shwartsman
8221fa6838
- Fixed zero upper 32-bit part of GPR in x86-64 mode
...
- CMOV_GdEd should zero upper 32-bit part of GPR register even if the
'cmov' condition was false !
2007-01-26 22:12:05 +00:00
Stanislav Shwartsman
f8c3968d42
Changes list made after CVS service crash:
...
- Fixed critical bug in CPU code added with one of the prev commits
- Disasm support for SSE4
- Rename PNI->SSE3 everywhere in the code
- Correctly decode, disassemble and execute 'XCHG R8, rAX' x86-64 instruction
- Correctly decode, disassemble and execute multi-byte NOP 0F F1 opcode
- Fixed ENTER and LEAVE instructions in x86-64 mode
- Added ability to turn ON instruction trace, only GUI support is missed.
Instruction trace could be enabled if Bochs was compiled with disasm
- More changes Bit32u -> bx_phy_address
- Complete preliminary implementation of SMM in Bochs, SMI is still PANICs but if you press 'continue' everything should work OK
- Small code cleanup
- Update CHANGES and user docs
2006-04-05 17:31:35 +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