gibbed
5fbcb8991e
[JIT] Run the SimplificationPass/ConstantPropagationPass until there are no changes.
2018-11-23 12:01:10 -06:00
gibbed
7d07720de1
[JIT] Zero constant propagation for OPCODE_SHL/OPCODE_SHR.
2018-11-23 08:02:09 -06:00
gibbed
4c04a9383a
[JIT] Fix constant propagation for OPCODE_SELECT.
2018-11-23 07:52:14 -06:00
Margen67
896ac4a682
Update documentation.
...
- Convert http to https, provide archive link when possible.
- Made CPU-JIT.png more readable on dark themes;
Added a white background so there isn't black text on a black
background.
2018-11-22 09:20:09 -06:00
gibbed
3ced6c5cf2
[CPU] Add constant VectorAverage.
2018-11-18 08:13:37 -06:00
DrChat
894bbf9e26
[JIT] Fix incorrect definition for constant VectorConvertX2X
2018-03-02 19:03:48 -06:00
DrChat
49866e970b
[JIT] VectorConvertX2X unsigned support
2018-03-02 16:34:57 -06:00
DrChat
6fd75cea91
[CPU] Handle constant multiply in fmadd/fmsub in constant propagation pass
2018-03-01 20:04:56 -06:00
DrChat
e54c24e150
[JIT] New opcodes: OPCODE_LOAD_OFFSET and OPCODE_STORE_OFFSET
...
These take full advantage of x86 addressing, and eliminate extra add operations.
2018-02-14 16:26:49 -06:00
DrChat
aaf281351d
Format all code with new clang-format
2017-12-14 20:44:43 -06:00
scribam
b6e7e66fbe
Fix travis LINT
2017-09-20 23:29:39 +02:00
Doug Johnson
48a2435bde
Add header dependencies that prevented linux build
...
There were several files with dependancies on vector and cmath that
caused compiler errors under linux. In addition, there was a printf
formatting error that threw a compiler error as well
2017-07-11 11:47:24 -06:00
DrChat
f012845cb6
JIT: Propagate mul/div by constant one
2017-03-16 18:49:55 -05:00
Vlad Ivanov
f0ba717142
Fix a bunch of missing cmath includes
...
...as well as missing std:: namespace specifiers
2017-02-07 20:26:08 +03:00
Dr. Chat
a72f1d949f
Constant propagation for vector SGT/UGE/UGT
...
Constant rounding (and fixed vec128 rounding only doing x)
2016-07-25 11:57:14 -05:00
Dr. Chat
18ff97e6b6
OPCODE_IS_NAN
2016-07-11 20:44:12 -05:00
Dr. Chat
3d1d4dea47
OPCODE_DOT_PRODUCT_4 constant propagation
2016-06-28 19:39:22 -05:00
Dr. Chat
f2ad6b8cb8
OPCODE_RECIP
2016-06-26 13:03:42 -05:00
gibbed
53e37c3167
Constant propogation for DOT_PRODUCT_3.
2016-06-20 13:30:19 -05:00
Dr. Chat
0ef16b10e2
Constant Propagation for OPCODE_VECTOR_ADD
2016-06-12 21:41:02 -05:00
Dr. Chat
0771eea0b3
Change comments to comply with local regulations.
2016-01-13 19:41:15 -06:00
Dr. Chat
3ccb2a978d
Propagate vector constants.
2016-01-13 01:40:44 -06:00
Ben Vanik
15816327b4
Renaming xe::cpu::frontend to xe::cpu::ppc.
2015-12-14 21:17:55 -08:00
Ben Vanik
9273359cdd
Removing vestigial ContextInfo.
2015-12-14 20:57:14 -08:00
Dr. Chat
bc1e7684ca
Pass rounding mode from i->flags for OPCODE_CONVERT
2015-12-02 14:03:15 -06:00
Dr. Chat
525d62d437
constant OPCODE_CONVERT and more cases for OPCODE_LOAD
2015-12-01 19:51:28 -06:00
Dr. Chat
873016f06f
Fix double-swap in constant load
2015-12-01 19:03:51 -06:00
Ben Vanik
4af6c41740
Moving profiling.h to base - UI could be separated for cleanliness.
2015-11-07 12:31:07 -08:00
Ben Vanik
3c50b6739a
Capturing guest/host context and showing registers in debugger.
2015-08-29 08:08:54 -07:00
Ben Vanik
a92566dfc5
More style.
2015-08-07 21:29:03 -07:00
Ben Vanik
14beb27ebc
xb style.
2015-08-07 07:56:57 -07:00
Ben Vanik
5e08889d93
More style cleanup.
2015-08-06 20:17:01 -07:00
Ben Vanik
eaa1a8ee3a
Refactoring SymbolInfo/FunctionInfo/Function into Symbol/Function.
2015-08-05 21:50:02 -07:00
Ben Vanik
90c248146e
--inline_mmio_access to allow turning it off.
2015-08-03 19:07:34 -07:00
Ben Vanik
91d7acf59e
Fixing some particularly bad /W4.
2015-07-18 23:04:21 -07:00
Ben Vanik
ecd4af10c9
Fixing some clang warnings/errors.
2015-07-15 23:26:58 -07:00
Ben Vanik
31dab70a3a
Adding some docs on CPU optimizations/potential work.
2015-07-13 18:20:38 -07:00
Drew DeVault
a064ba053e
Add missing includes for cstring
2015-06-16 23:16:18 -06:00
Ben Vanik
2a6ada2a3c
Optimization to merge LOAD+SWAP and SWAP+STORE into flagged opcodes.
2015-06-15 18:59:29 -07:00
Ben Vanik
889f29c18a
Fixing CFG to remove unreachable blocks and properly maintain dominators.
2015-06-07 15:14:14 -07:00
Ben Vanik
6edf4f898f
Gracefully skipping noaccess constant loads.
2015-06-06 22:56:53 -07:00
Ben Vanik
429698c2ec
Replacing DidCarry with manual calculation and fixing compares.
2015-06-06 15:24:46 -07:00
Ben Vanik
40a6a12800
Attempting to inline a lot of MMIO operations. Works for GPU stuff mainly.
2015-06-02 20:15:43 -07:00
gibbed
d1dbee2052
Consistency in memset calls.
2015-05-28 05:28:59 -05:00
gibbed
bb947c6819
Value::MulHi and constant propagation for OPCODE_MUL_HI. Could maybe be reworked?
2015-05-13 16:13:06 -05:00
Ben Vanik
6fd7e35deb
Fixing subfme.
2015-05-13 00:15:42 -07:00
Ben Vanik
4248268b4f
Fixing divd constant.
2015-05-12 23:38:02 -07:00
Ben Vanik
398b37dc5f
Fixing addze.
2015-05-12 23:26:21 -07:00
Ben Vanik
fc02a0c404
Switching up std::vector use in register allocator.
2015-05-11 21:01:48 -07:00
Ben Vanik
7a00b76a6e
Debugger stuff, and changing to vcproj's/sln.
2015-05-09 17:48:12 -07:00