Commit graph pcem/src/x87_ops_misc.h
Author SHA1 Message Date
SarahW
c682e070a6 Fix x87 tag register when using MMX instructions. Fixes numerous issues when an MMX process is running at the same time as one or more other MMX/FPU processes (usually seen running 3dfx games with AudioPCI). 2019-05-11 18:41:31 +01:00
SarahW
b2e236e720 Mark FINIT as ending a code block. Fixes crash in Armoured Fist II. 2019-04-09 22:19:39 +01:00
SarahW
87191dde55 Added recompiled versions of FIST and FISTP. 2018-10-25 20:54:33 +01:00
SarahW
d9e38fe37c Fix masking of FPU top-of-stack in several places. Fixes DOS Quake. 2018-10-09 13:51:05 +01:00
SarahW
305b6cc4fd Added recompiled register versions of FADDP, FDIVP, FDIVRP, FMULP, FSUBP and FSUBRP. 2018-10-08 21:44:30 +01:00
SarahW
dbb01ef9e2 Cleaned up x87 tag register handling. 2018-10-01 21:02:40 +01:00
SarahW
0f0a1c3223 Perform NULL segment checks upfront in opcode handlers, rather than on every memory access.
This removes the need to pass the segment to readmem*l()/writemem*l().
2018-07-18 22:10:18 +01:00
SarahW
a4b8eba56b Add better rounded value for FLDLN2. Fixes rendering in Zone Raiders. 2018-03-28 20:33:18 +01:00
SarahW
2b892d2a7a Fixed compiler warnings for Windows builds.
Added -Werror to Windows makefiles.
2017-04-11 19:34:41 +01:00
SarahW
9167b3a71f Fixed x86-32 recompiler MMX entry code
Fixed FPU tag resetting in EMMS instruction
Clear MMX state in FINIT
Reset FPU state in FSAVE/FNSAVE
Fixes issues with MMX when more than one MMX program is running
2017-01-13 21:31:42 +00:00
SarahW
dd2a608707 x86-32 recompiler performs float->integer rounding by loading FPU control word instead of calling helper function - speedup on some stuff. 2016-09-18 14:57:10 +01:00
SarahW
1004d947d5 Fixed bug with FRSTOR which broke FPU copy. 2016-09-10 18:41:58 +01:00
SarahW
6aef53e854 Remove remaining references to 32-bit addresses in x86-64 recompiler. 2016-08-28 15:58:30 +01:00
SarahW
5a02b518b8 Moved FPU register stack into cpu_state structure.
Fixed a couple of FPU bugs in x86-64 recompiler that were introduced in rev 543, fixes lightmap issues in Half-Life.
2016-08-25 21:09:02 +01:00
SarahW
eb126fd822 Moved more variables into cpu_state structure. 2016-08-21 21:28:23 +01:00
SarahW
c664682758 Move some more variables into cpu_state structure. Minor speedup (~2%). 2016-08-17 21:28:16 +01:00
SarahW
e236fb6d16 Added missing FCMOV instruction for 6x86MX. 2016-04-28 19:34:46 +01:00
SarahW
c81a91fd72 Moved integer registers, PC and flags_* variables into new cpu_state structure. Reduces recompiled code size slightly, small speedup (1-3%). 2016-04-20 21:39:41 +01:00
TomW
ea13ae015b Added FPREM1 instruction for Interstate '76. 2015-09-21 08:14:53 +01:00
TomW
5ac8fd496a Fixed bug preventing FXAM from clearing C1 flag - fixes bugs in Half-Life, Final Fantasy VII, DEU and probably others. 2015-08-29 14:41:32 +01:00
TomW
cd8d2a6824 Added FP_ENTER() to FPU instructions that were missing it. 2015-08-10 17:50:56 +01:00
TomW
52a27a9256 FPU copy should now work. 2015-05-18 20:33:33 +01:00
TomW
1802996443 Added missing FYL2XP1 instruction. 2015-05-03 20:53:18 +01:00
TomW
15bca849c8 Added code generation for first batch of FPU instructions; instructions added are most common instructions used in Quake. 2015-04-19 08:42:04 +01:00
TomW
2905c43db8 Cycle counts for recompiled blocks now generated at compile time. 2014-11-12 19:33:49 +00:00
TomW
087f412d3f Reorganised FPU emulation. 2014-11-09 14:07:03 +00:00