Stanislav Shwartsman
2047d6eb7a
remove fpu/softfloat16.h
2024-04-25 12:36:27 +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
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
39237c3eb5
fix compilation - remove deleted include reference from Makefile
2024-04-24 09:49:11 +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
738dfa1a12
move more stuff to softfloat3e style
2024-04-13 19:04:33 +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
9fa35f4596
convert to softfloat3e several floatx80 uses ( #278 )
2024-03-15 22:53:48 +02:00
Stanislav Shwartsman
d350c008e2
add softfloat3e library to Bochs to replace old softfloat2 (to get fp… ( #259 )
...
…16 support)
with a lot of my updates, cleanups and extensions for x86 features like
denormal and/or undeflow/overflow handling
---------
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2024-03-10 17:10:55 +02:00
Shwartsman
7b5fb0b749
AVX-512 VREDUCE* should never raise #Denormal, #Overflow or #Underflow
2024-02-12 21:15:43 -06:00
Stanislav Shwartsman
37341c8838
fixed massive code duplication
2024-02-02 22:36:56 +02:00
Shwartsman
6f4f217a08
implemented AMX_FP16 and aMX_COMPLEX, fixes for daz handling in AVX_NE_CONVERT FB16
...
updated CHANGES
2024-01-12 12:38:31 +02:00
Stanislav Shwartsman
167942816a
regen Makefile.in dependencies
2024-01-12 01:10:47 +02:00
Shwartsman
9e36971e0f
fixed TILELOADD/TILESTORED and TDPBF16PS
2024-01-11 21:04:14 +02:00
Shwartsman
8dca1e0e07
correct implementation of AMX TDPBxxD instructions
2024-01-11 20:20:33 +02:00
Stanislav Shwartsman
3a02e85599
AMX support ( #212 )
2024-01-10 20:13:25 +02:00
Shwartsman
b93b9ad881
fixed comments in bf16.h
2023-12-29 22:45:59 +02:00
Shwartsman
5b61b51498
more optimal version for VDPBF16PS
...
avoid constly softfloat calls when masked
2023-12-25 16:26:28 +02:00
Shwartsman
ddff78a16c
style and disasm updates, no functional impact
2023-12-25 14:57:05 +02:00
Shwartsman
7c9bab8182
handle getexp methods though templates
2023-12-25 08:07:07 +02:00
Stanislav Shwartsman
ef30a12afb
avoid accidential zero of the mask, due to Bit64u computation overflow (1 << 64) == 1
2023-12-24 22:37:02 +02:00
Stanislav Shwartsman
eb6d4f5fc8
use simpler method to write XMM register while clearing AVX upper part
2023-12-24 14:45:04 +02:00
Shwartsman
19dbd7314b
convert more instructions to template
2023-12-23 22:01:13 +02:00
Shwartsman
8e76c9b6bb
move many SSE/AVX/AVX512 methods to template functions
2023-12-23 21:00:51 +02:00
Shwartsman
120ad141b3
reduce code duplication by merging equivalent methods
2023-12-23 19:12:03 +02:00
Shwartsman
3c857f2ad1
make APIC from static object to dynamic so many cc files won't need to be dependent on apic.h
2023-11-28 11:08:42 +02:00
Stanislav Shwartsman
0730ff4c4a
added a comment for future: some memory operations must be done atomically
...
these are include LOCKed RMW of course and also a lot of others
in the future it will be very hard to find all the cases that must be atomic so better to start marking them already now
try to mark every RMW case for atomicity requirements
no code changes, only comments
2023-11-17 23:18:43 +02:00
Stanislav Shwartsman
8594972389
final resolution for issue #2 : address VEXPAND* and VPSHUFBITQMB instructions
2023-11-09 19:15:32 +02:00
Stanislav Shwartsman
18deee022f
make CPU to use C++ template for implementation of CPU methods ( #115 )
...
this allow to remove a lot of code from CPU common methods
2023-10-30 06:57:16 +02:00
Stanislav Shwartsman
96b887a9bb
code refactor towards fixing issue #2 ( #112 )
...
next step new methods for VEXPANDPS_MASK_VpsWpsR and
VEXPANDPD_MASK_VpdWpdR with mask and memory operand will be introduced
with fault suppression support
legacy load methods aren't good because the loads here actually read
POPCNT(mask) elements from memory src
2023-10-28 22:21:42 +03:00
Shwartsman
5103d97ece
mask use of CUT_OPMASK_TO macro instead of magic arithmetic
2023-10-19 16:59:32 +03:00
Shwartsman
63286528b5
take axv512 masted read/write helpers to separate file
2023-10-19 16:52:55 +03:00
Shwartsman
133144ae41
update include dependencies for CPU, MEMORY and BX_DBG folders
2023-10-16 19:42:44 +03:00
Stanislav Shwartsman
ffa64461ab
implementation of AVX-NE-CONVERT ISA ( #89 )
...
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-10-14 14:55:12 +03:00
Stanislav Shwartsman
3234e9b88e
implemented AVX VNNI INT16 ISA extension ( #87 )
...
Co-authored-by: Stanislav Shwartsman <sshwarts@users.sourceforge.net>
2023-10-10 20:22:07 +03:00
Stanislav Shwartsman
aa84121ede
changes (c) date
2022-10-02 23:26:57 +03:00
Stanislav Shwartsman
c47b5ff5cb
extract IFMA52 code to separate file
2022-10-02 23:24:00 +03:00
Stanislav Shwartsman
a56144833a
add support for AVX encoded VNNI INT8 extensions
2022-10-02 23:00:46 +03:00
Stanislav Shwartsman
1e4f1624c8
remove trailing whitespace from source files
2022-08-23 21:46:04 +03:00
Stanislav Shwartsman
fb09790846
dos2unix to all files
2022-07-30 14:31:16 +03:00
Stanislav Shwartsman
1455788fe4
remove cpudb.h from some Makefile dependencies. it should be only in cpu/init.cc and config.cc
2021-07-25 18:21:41 +00:00
Stanislav Shwartsman
8285b6b51b
regen Makefile include dependencies for CPU and internal debugger
2021-01-30 20:17:15 +00:00
Stanislav Shwartsman
6d6ff0e06b
regen Makefile include dependencies for CPU, MEMORY and internal debugger
2021-01-30 19:44:41 +00:00
Stanislav Shwartsman
0b83259417
regen include dep lists for cpu and memory - need to regen for all others
2021-01-30 18:57:45 +00:00
Stanislav Shwartsman
1bf18b8aae
! CPUID: Added TigerLake CPU definition (features CET and CLWB support)
...
- CPU code refactor, remove uses of bx_bool datatype and use C++ classic bool instead.
This enable better compiler optimizations and reduce binary size
2021-01-30 08:35:35 +00:00
Stanislav Shwartsman
c6050a99d1
implemented AVX encoded VNNI instructions published in recent SDM - not tested yet
2020-10-03 09:23:28 +00:00
Stanislav Shwartsman
dd3849b9e0
extract Bit128 arithmetic to separate wide_int.cc/wide_int.h compiled independently of long mode emulation
2020-05-19 16:01:23 +00:00
Stanislav Shwartsman
fc1dbe68bc
update dependencies in Mafefile.in
2019-12-21 21:42:35 +00:00
Stanislav Shwartsman
1a0237e9af
make order in AVX512 broadcast handlers, extract them into separate file
2019-12-21 20:07:03 +00:00