Malcolm Jestadt
|
7573d7289b
|
SPU LLVM: Hook up 128 bit spu verification
- Also fix FMA enablement for sapphirerapids
|
2021-11-06 21:12:12 +03:00 |
|
Ani
|
1a0392bf15
|
CPUTranslator: Enable FMA for alderlake CPUs (#11106)
|
2021-11-03 19:31:46 +00:00 |
|
Nekotekina
|
69f321a471
|
LLVM 13
|
2021-11-02 20:11:08 +03:00 |
|
Eladash
|
edcc2a9e0d
|
PS3 String Searcher: Implement instruction searching in embedded SPU images
|
2021-10-30 21:33:06 +02:00 |
|
Malcolm Jestadt
|
f06c8b22e8
|
PPU/SPU LLVM: Emulate VPERM2B with a 256 bit wide VPERMB
- Save 1 uop by using 256 wide VPERMB instead of VPERM2B. (Compiles down to a vinserti128 and vpermb)
|
2021-10-13 17:51:54 +03:00 |
|
Eladash
|
ab50e5483e
|
GUI Utilities: Implement instruction search, PPU/SPU disasm improvements (#10968)
* GUI Utilities: Implement instruction search in PS3 memory
* String Searcher: Case insensitive search
* PPU DisAsm: Comment constants with ORI
* PPU DisAsm: Add 64-bit constant support
* SPU/PPU DisAsm: Print CELL errors in disasm
* PPU DisAsm: Constant comparison support
|
2021-10-12 23:12:30 +03:00 |
|
Megamouse
|
c7e5a62909
|
Add missing cpu_flag formatting
|
2021-10-05 20:16:11 +02:00 |
|
Nekotekina
|
55ec4808f1
|
SPU LLVM Fixup for VDBPSADBW
Fixes #10947
|
2021-09-30 17:53:47 +03:00 |
|
Malcolm Jestadt
|
2cfa5406e7
|
LLVM DSL: reimplement vdbpsadbw
|
2021-09-30 13:22:35 +03:00 |
|
Malcolm Jestadt
|
f9ab077908
|
SPU LLVM: Use VDBPSADBW in SUMB
- This instruction can be used to sum bytes horrizontally if the second input vector is all zeroes.
|
2021-09-30 13:22:35 +03:00 |
|
Ani
|
df96be199b
|
config: Remove Lower SPU Priority setting
|
2021-09-26 00:29:21 +01:00 |
|
Eladash
|
ddec5d6908
|
CPUThread: Prevent recursive check_state calls
|
2021-09-17 14:02:22 +03:00 |
|
Eladash
|
975aae1d13
|
SPU MFC: Implement MFC commands execution shuffling
|
2021-09-17 11:38:10 +03:00 |
|
Nekotekina
|
d28b0ba2fa
|
SPU LLVM: implement spu_re, spu_rsqrte
Improve matching with peek_through_bitcasts() helper.
Implement erase_stores() helper.
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
543fb7a9cb
|
LLVM DSL / SPU LLVM: implement infinite precision shifts
Remove old make_*** helpers in favor of matcheable expressions.
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
67b3fc70f8
|
LLVM DSL: implement absd and match helpers
Matcheable expression absd(a, b) (absolute difference).
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
2268aa9093
|
LLVM DSL: reimplement fre, frsqe, fmax, fmin
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
4b8ee85995
|
LLVM DSL: reimplement pshufb, add 'calli'
Implement postponed custom intrinsic replacement.
Make bitcast operator static like other ones.
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
7ec7f261b1
|
LLVM DSL: implement fpcast
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
1685769bd9
|
LLVM DSL: reimplement fmuladd, force hw fma if present
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
7cf9d1380b
|
LLVM DSL: add line number in get_const_vector automatically
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
f188019244
|
LLVM DSL: reimpelement fsqrt, fabs
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
38dfc88e8d
|
LLVM DSL: reimplement avg
|
2021-09-17 10:23:43 +03:00 |
|
Nekotekina
|
95c36221fa
|
LLVM DSL: reimplement ctlz, ctpop
|
2021-09-17 10:23:43 +03:00 |
|
Malcolm Jestadt
|
43cc62d267
|
SPU LLVM: Add m_use_vnni
- Alderlake and Sapphirerapids will require an update to the llvm fork before they can be detected
|
2021-08-31 14:02:05 +03:00 |
|
Malcolm Jestadt
|
d304b52391
|
SPU LLVM: Add VNNI optimized variant of sumb
- Uses vpdpbusd to horrizontally add values, for some reason this is much faster than the normal horizontal add instructions.
|
2021-08-31 14:02:05 +03:00 |
|
Nekotekina
|
286e154d05
|
SPU Profiler: adjust accumulation logic
Don't append trampoline time to verification time.
|
2021-08-01 09:59:00 +03:00 |
|
Nekotekina
|
2f6db5802f
|
Fix CPU Profiler regression
|
2021-07-30 09:21:11 +03:00 |
|
Nekotekina
|
571bdfc828
|
Fixup for #10490
Restore explicit signaling of RSX thread for now.
|
2021-06-27 14:02:32 +03:00 |
|
Eladash
|
0aed00a758
|
Improve thread aborting mechanism (#10490)
Call pseudo-virtual operator=(thread_state) of thread context.
|
2021-06-27 11:43:48 +03:00 |
|
Eladash
|
0531b3d801
|
rsx: Fix emulation stopping in cpu_thread::is_paused poll (#10475)
Ignore pause flags if thread is stopped.
|
2021-06-20 20:00:12 +03:00 |
|
Eladash
|
76bf720adf
|
Improve emulation stopping speed
Split phases of signalling threads and joining them.
|
2021-06-08 18:26:14 +03:00 |
|
Eladash
|
6ff9aab2ca
|
Fix cpu_thread::check_state() cpu_flag::temp support
|
2021-05-28 20:25:16 +03:00 |
|
Eladash
|
5f47730fc0
|
Fix reservations handling in logs
Remove reservation cb.
|
2021-05-28 20:25:16 +03:00 |
|
Nekotekina
|
2491aad6f2
|
types.hpp: implement min_v<>, max_v<>, SignedInt, UnsignedInt, FPInt concepts
Restrict smax to only work with signed values for consistency.
Cleanup <climits> includes.
Cleanup <limits> includes.
|
2021-05-23 19:43:51 +03:00 |
|
Eladash
|
638f20c80f
|
Improve get_current_cpu_thread()
|
2021-05-20 09:25:51 +03:00 |
|
Eladash
|
94e2f464e3
|
CPU Profiler: weak_ptr -> shared_ptr
|
2021-05-15 00:31:14 +03:00 |
|
Paul
|
4e12e70929
|
Add Intel's Rocket Lake 11th gen cpu. (#10205)
This does nothing but may be required later.
|
2021-05-13 11:34:37 +03:00 |
|
David Carlier
|
082bbc7336
|
Following up on MacOS build fix.
Specialisation of llvm_value_t to allow build with LLVM this time.
|
2021-04-23 15:20:40 +03:00 |
|
Nekotekina
|
9d4fcbf946
|
bs_t<>: fix/cleanup some operators
|
2021-04-17 15:54:33 +03:00 |
|
Malcolm Jestadt
|
0a7df9d02e
|
SPU LLVM: add AVX-512 SPU verification
- This is hidden behind a new setting, as some cpus may downclock agressively when executing 512 wide instructions
|
2021-04-16 09:35:26 +03:00 |
|
Megamouse
|
a16d8ba3ea
|
More random changes
|
2021-04-11 14:01:51 +03:00 |
|
Nekotekina
|
95725bf7fc
|
Add -Werror=missing-noreturn (GCC, clang)
May be useful to diagnose functions which fail assertions unconditionally.
|
2021-04-08 10:29:47 +03:00 |
|
Nekotekina
|
2212a131ef
|
Fix some -Weffc++ warnings (part 1)
|
2021-03-31 11:27:09 +03:00 |
|
Eladash
|
dea1d01de2
|
Fix Emulator::Stop race with IDM
Newly created threads' state could have not been flagged with exit.
|
2021-03-30 10:21:54 +03:00 |
|
Eladash
|
d51bb8b1cc
|
Fix Emulator::Pause race with IDM
|
2021-03-30 10:21:54 +03:00 |
|
xddxd
|
9d895e6b15
|
Scheduler overhaul
|
2021-03-26 00:29:44 +03:00 |
|
Nekotekina
|
2decf1ecda
|
Rename and move g_tls_current_cpu_thread inside cpu_thread
Don't declare extern inside get_current_cpu_thread().
Possible workaround for gcc-11.
|
2021-03-17 23:49:48 +03:00 |
|
Nekotekina
|
a4fdbf0a88
|
Enable -Wstrict-aliasing=1 (GCC)
Fixed partially.
|
2021-03-09 03:10:15 +03:00 |
|
Nekotekina
|
87af905018
|
Enable -Wunused-parameter
|
2021-03-06 18:07:08 +03:00 |
|