Stanislav Shwartsman
|
6d089dd238
|
changed CPUID constants to defines
|
2010-10-07 16:39:31 +00:00 |
|
Stanislav Shwartsman
|
8308a47168
|
trying to get rid of b1() in instruction class
|
2010-09-24 21:15:16 +00:00 |
|
Stanislav Shwartsman
|
41ddb26c6f
|
Fixed save/restore of x87 regs
|
2010-07-01 20:00:33 +00:00 |
|
Stanislav Shwartsman
|
689ecc57dd
|
split 2 more SSE opcodes
|
2010-04-08 17:35:32 +00:00 |
|
Stanislav Shwartsman
|
d39d485ece
|
changes variable name to better one
|
2010-04-03 05:59:07 +00:00 |
|
Stanislav Shwartsman
|
2efb11f2bc
|
fixes
|
2010-03-30 18:12:19 +00:00 |
|
Stanislav Shwartsman
|
f53a54a5e2
|
fix
|
2010-03-19 15:07:04 +00:00 |
|
Stanislav Shwartsman
|
9147ac4b63
|
MOVMSKPD/PS fix
|
2010-03-19 14:43:13 +00:00 |
|
Stanislav Shwartsman
|
c4412bf357
|
movdq2q fix
|
2010-03-19 10:44:02 +00:00 |
|
Stanislav Shwartsman
|
cffe32dd2c
|
remove unused param from exception() call
|
2010-03-14 15:51:27 +00:00 |
|
Stanislav Shwartsman
|
01cfbdccbc
|
Move MMX to be runtime option
|
2010-03-01 18:53:53 +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
|
70dc124b3a
|
1st step of moving CPU options to runtime
|
2010-02-24 19:27:51 +00:00 |
|
Stanislav Shwartsman
|
2defc78bac
|
cleanups
|
2009-11-29 21:01:26 +00:00 |
|
Stanislav Shwartsman
|
553ca8af01
|
split more SSE ops
|
2009-11-25 20:49:47 +00:00 |
|
Stanislav Shwartsman
|
6819ab4eb7
|
split sse opcodes
|
2009-11-23 18:21:23 +00:00 |
|
Stanislav Shwartsman
|
67e4f97e73
|
make maskmov fault order like in real HWQ
|
2009-11-13 09:55:22 +00:00 |
|
Stanislav Shwartsman
|
234770395d
|
Fixes for x87 restore by FXRSTOR/XRSTOR
|
2009-10-27 20:03:35 +00:00 |
|
Stanislav Shwartsman
|
78e4b3d616
|
split SSE move instructions
|
2009-10-24 11:17:51 +00:00 |
|
Stanislav Shwartsman
|
7254ea36a1
|
copyright fixes + small optimization
|
2009-10-14 20:45:29 +00:00 |
|
Stanislav Shwartsman
|
8ae803f930
|
MASKMOVDQU bug fix
|
2009-08-21 13:44:51 +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
|
8107e7f084
|
Fixed restore of FCS field
|
2008-08-16 12:19:30 +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
|
a0e66d0e4c
|
fixed variable name
|
2008-06-14 16:55:45 +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
|
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
|
3634c6f892
|
Compress FPU tag word
|
2008-05-10 13:34:47 +00:00 |
|
Stanislav Shwartsman
|
4f3f8608f7
|
Fixed MASKMOVDQU instruction decoding
|
2008-04-16 05:41:43 +00:00 |
|
Stanislav Shwartsman
|
77d91d59aa
|
Inline prepare_SSE and prepare_XSAVE functions
|
2008-04-06 18:00:20 +00:00 |
|
Stanislav Shwartsman
|
420f30816d
|
inline integer saturation code - speedup for MMX/SSE integer
|
2008-04-06 13:56:22 +00:00 |
|
Stanislav Shwartsman
|
e91409704f
|
Convert EFER to val32 register, similar to other control registers
|
2008-03-31 20:56:27 +00:00 |
|
Stanislav Shwartsman
|
94f30955be
|
Fixed compilation error
|
2008-03-25 16:46:39 +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
|
7e490699d4
|
Removing hooks for not-implemented SSE4A from the Bochs code.
|
2008-03-21 20:04:42 +00:00 |
|
Stanislav Shwartsman
|
933bf018a8
|
Fixed hang in sse_move.cc
|
2008-02-13 23:12:35 +00:00 |
|
Stanislav Shwartsman
|
ae86ad28a0
|
Finalize XSAVE/XRSTOR instructions
|
2008-02-13 22:25:24 +00:00 |
|
Stanislav Shwartsman
|
b929a2b2b8
|
Fixed minor issues - compilation and not only
|
2008-02-13 17:06:44 +00:00 |
|
Stanislav Shwartsman
|
457152334e
|
step2 in XSAVE implementation
|
2008-02-13 16:45:21 +00:00 |
|
Stanislav Shwartsman
|
a2897933a3
|
white space cleanup
|
2008-02-02 21:46:54 +00:00 |
|
Stanislav Shwartsman
|
37fbb82baa
|
Cleanups. Move bxInstruction_c definition to separate file instr.h
|
2008-01-29 17:13:10 +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
|
79fc57dec8
|
Fixed more VCPP2008 warnings
|
2007-12-26 23:07:44 +00:00 |
|
Stanislav Shwartsman
|
e4420d52c6
|
Emplement MASMOVDQU as RMW for efficiency (and correctness)
|
2007-12-23 17:39:10 +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 |
|