Commit Graph

3960 Commits

Author SHA1 Message Date
Stanislav Shwartsman
f199d64170 reduce further f128 computation precision to get closer to real x87 hw
truncate on 80 bit now
2024-05-01 07:28:05 +03:00
Stanislav Shwartsman
a3fd1fef26 fix for double overflow 2024-04-28 16:25:20 +03:00
Stanislav Shwartsman
2059854e04 rewrite floatx80 bias unmasked overflow handling 2024-04-28 10:16:39 +03:00
Stanislav Shwartsman
632d8780de rewrite code for biasing unmasked underflow for floatx80 in softfloat3e (from hack to clean code) 2024-04-28 06:41:47 +03:00
Stanislav Shwartsman
247aca0956 implement VMX SUPPORT FOR THE IA32_SPEC_CTRL MSR announced in 319433-052
bugfix: "shadow stack prematurely busy" secondary vmexit control was wrongly mapped into bit2 insetad of bit3
2024-04-27 09:44:48 +03:00
Stanislav Shwartsman
ab884f3dd4 fix compilation for AND Ryzen CPUID model 2024-04-26 22:15:34 +03:00
Stanislav Shwartsman
690bae9a12 add fields and bits for newly announced x86 features and vmx state 2024-04-26 22:13:08 +03:00
Stanislav Shwartsman
a565f9a754 implement Flexible UIRET (AKA UIRET_UIF) announced in 319433-052 2024-04-26 21:53:03 +03:00
Stanislav Shwartsman
69fa93e75b implement MONITORLESS MWAIT support (announced in 319433-052)
rework CPUDB classes to avoid code duplication for MONITOR/MWAIT leaf
2024-04-26 21:29:53 +03:00
Stanislav Shwartsman
971576e32f FXRSTOR/XRSTOR: do not change x87 state if restore of entire state cannot be completed 2024-04-25 19:57:38 +03:00
Stanislav Shwartsman
2047d6eb7a remove fpu/softfloat16.h 2024-04-25 12:36:27 +03:00
Stanislav Shwartsman
5c90a08af0 fixes for softfloat3e compilation after include reorg 2024-04-25 12:18:44 +03:00
Stanislav Shwartsman
1255a0c585 remove fpu/softfloat.h, reduce include deprendencies, fix warnings
regenerate dep lists in all Makefile.in
2024-04-25 11:50:48 +03:00
Stanislav Shwartsman
7eb5766611 resurrect incorrectly removed variables 2024-04-25 10:14:11 +03:00
Stanislav Shwartsman
f6b12ee71b remove softfloat-macros.h 2024-04-25 10:09:04 +03:00
Stanislav Shwartsman
00810f3054 remove more unused constructs left from softfloat2 2024-04-25 10:00:48 +03:00
Stanislav Shwartsman
9fb4382668 fixed compilation 2024-04-25 08:31:18 +03:00
Stanislav Shwartsman
0c12c4fd83 move float128 definition to different include file to reduce #include dependencies 2024-04-24 22:52:40 +03:00
Stanislav Shwartsman
c21a2d616f remove old softfloat2 data types, fully transition to new ones 2024-04-24 22:39:29 +03:00
Stanislav Shwartsman
b2d6d34178 fixed compilation with 3dnow enabled 2024-04-24 21:48:53 +03:00
Stanislav Shwartsman
dc7291be75 fix Makefile after renamed include 2024-04-24 21:39:22 +03:00
Stanislav Shwartsman
a1be887ad8 more transition to new softfloat code 2024-04-24 21:35:55 +03:00
Stanislav Shwartsman
744d0b4fc0 more transition to new softfloat code 2024-04-24 20:57:23 +03:00
Stanislav Shwartsman
9778d78494 artificially reduce float128 precision as x86 hardware uses only 67-bit 2024-04-24 16:08:19 +03:00
Stanislav Shwartsman
39237c3eb5 fix compilation - remove deleted include reference from Makefile 2024-04-24 09:49:11 +03:00
Stanislav Shwartsman
807ae1f04c remove f128_sqrt unused for Bochs 2024-04-24 09:25:26 +03:00
Stanislav Shwartsman
0e686801a5 small coding style change 2024-04-24 09:24:10 +03:00
Stanislav Shwartsman
57e44a2d98 fix makefile 2024-04-24 09:23:03 +03:00
Stanislav Shwartsman
8383260781 small fix for performance 2024-04-24 09:03:37 +03:00
Stanislav Shwartsman
3e4a966a2f remove floatx80_mul with float128 argument (use float128 instead)
this let's to remove completely softfloat-round-pack.cc and softfloatx80.cc
2024-04-23 21:34:29 +03:00
Stanislav Shwartsman
c70bcbf5e9 rewrite fprem.cc using functions from softfloat3e
preparing to eliminate softfloat2 completely
2024-04-15 13:41:33 +03:00
Torinde
8757c36e1c
Update cpuid.cc - label and abbreviation corrections SMX, MPX (#301)
Memory Protection Extensions - add MPX abbreviation

SMX: Secure Virtual Machine Technology - bit6 is for SMX, but [it's
meaning](https://en.wikipedia.org/wiki/CPUID) is Safer Mode Extensions
(part of TXT). Not Secure Virtual Machine Technology (which is already
listed elsewhere as SVM).
2024-04-15 09:00:58 +03:00
Stanislav Shwartsman
42db7b64ce simplifications in softfloat3e code 2024-04-14 22:14:12 +03:00
Stanislav Shwartsman
738dfa1a12 move more stuff to softfloat3e style 2024-04-13 19:04:33 +03:00
Stanislav Shwartsman
3657e40437 convert FSCALE to softfloat3e style 2024-03-31 15:24:12 +03:00
Stanislav Shwartsman
725aa43b9c fix extern 2024-03-30 19:44:14 +03:00
Stanislav Shwartsman
7c1a23037a convert FEXTRACT to softfloat3e style
remove more softfloat2 code which is not in use anymore
2024-03-30 19:35:08 +03:00
Stanislav Shwartsman
c91b7bf117 convert float128 uses to softfloat3e
remove more now unused softfloat2 stuff
2024-03-30 15:36:43 +03:00
Stanislav Shwartsman
6d4f132977 remove now unused function 2024-03-29 20:14:13 +03:00
Stanislav Shwartsman
c372a77392 tab2space 2024-03-29 20:13:57 +03:00
Stanislav Shwartsman
a04ec3716a better handling of denormal in extF80_rem 2024-03-29 16:23:15 +03:00
Stanislav Shwartsman
eef84bbbfc fixed warnings 2024-03-29 16:02:11 +03:00
Stanislav Shwartsman
446408eb74 remove redundant files from softfloat3e source code 2024-03-29 16:00:22 +03:00
Stanislav Shwartsman
8f7df199b9
convert floatx80_round_to_int to softfloat3e (#287)
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2024-03-16 19:08:44 +02:00
Stanislav Shwartsman
9fa35f4596
convert to softfloat3e several floatx80 uses (#278) 2024-03-15 22:53:48 +02:00
Volker Ruppert
a3ff473642 Modified softfloat3e Makefile to fix compüilation with MSVC nmake.
Since GNU make and MSVC nmake need special rules for compiling this module that
causes failure with the other 'make' variant, the configure script needs to
comment out incompatible rules. Using symbols GNU_MAKE_ONLY and NMAKE_ONLY to
enable only one of the rulesets only.
Since one of the MSVC nmake rules uses curly brackets the shortcut script
.conf.win64-vcpp needs to be modified to exclude cpu/softfloat3e/Makefile
from removal of these usually unwanted characters.
2024-03-15 18:55:18 +01:00
Vort
c2891e5ff6
Fix Windows 11 boot, #280 (partial revert of b24bf1d) (#285) 2024-03-15 18:02:07 +02:00
Volker Ruppert
57ea1bad99 Fixed compilation outside of the source tree.
To implement this, softfloat3e needs a Makefile created by configure script
to set up the real SOURCE_DIR.
TODO: Fix compilation with MSVC nmake (Makefile line 278 fails).
2024-03-11 21:46:12 +01:00
Vort
4b07de86c7
Fix cross compilation (#279) 2024-03-11 10:09:51 +02:00
Stanislav Shwartsman
5a7224fc9f remove SOFTFLOAT_ROUND_ODD rounding mode which not needed for x86 emu 2024-03-10 20:36:38 +02:00