Fabian
|
625ad2802c
|
optimise add; jo
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
f8cbf3b2bd
|
optimise add; jc
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
60b555107f
|
identify add for the purpose of optimising conditions
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
92313f582c
|
optimise sub; jle
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
228934d616
|
optimise sub; jl
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
949081837b
|
optimise sub; jbe
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
7d6a3c67e4
|
optimise sub8; jo/jb
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
bb0f37bbce
|
optimise sub; jc
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
8f15b554ee
|
optimise cmp8/16 x, imm; jc
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
d629984627
|
optimise cmp reg, reg/imm; jz
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
19b2771c40
|
optimise getsf
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
db65dd352d
|
optimise test x, x followed by jz/js
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
0ea7c7cd81
|
optimise getof
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
6fcbe7b3d0
|
optimise cmp x, 0; jz
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
1d55116779
|
optimise get_last_op1 (for cmp32)
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
5a7c946e83
|
optimise get_last_result
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
a11eb20326
|
type safety
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
58f9902057
|
merge updates to last_op_size and flags_changed
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
53cea2e7b1
|
Use optimised getcf for inc/dec/adc/sbb
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
be08d812db
|
move code around (local_to_instruction_operand/LocalOrImmediate.to_instruction_operand)
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
c6ef3c4c68
|
cache state flags
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
5839152328
|
fix rust compiler error: trailing semicolon in macro used in expression position
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
e1b6e34c19
|
wip code tlb
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
d0ca758177
|
reformat msrs
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
2a8a89dd34
|
stub some msr for new linux kernel
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
b9df44e646
|
cpuid: correctly report level 7 for ecx != 0
|
2022-11-15 10:14:28 +09:00 |
|
Fabian
|
3c02f166b9
|
late c2rust cleanup
|
2022-09-21 17:58:25 +08:00 |
|
Fabian
|
b961703fe4
|
jit: execute mmio reads at full size
|
2022-09-13 17:19:23 +09:00 |
|
Fabian
|
86fc542352
|
tlb: don't mark writable on read access (otherwise the write bit might not be set if a read occurs before a write)
|
2022-09-13 15:53:28 +09:00 |
|
Fabian
|
b227b2e45b
|
Replace winnt_fix by cpuid_level, make configurable
|
2022-09-08 16:45:28 +09:00 |
|
Fabian
|
89e5173712
|
Use regs::EAX over 0
|
2022-09-08 16:22:49 +09:00 |
|
Fabian
|
4e9ceb0ec1
|
Implement #np for IDTs (windows nt 3.x)
|
2022-09-07 18:50:08 +09:00 |
|
Fabian
|
2cbe54cf38
|
Refactor some sse instructions into sse_read128_xmm_xmm_imm/sse_read128_xmm_mem_imm
|
2022-09-06 01:05:39 +09:00 |
|
Fabian
|
1135122f8a
|
Fix jitted cmpss/cmppd/shufps/shufpd with the same source and destination register
|
2022-09-06 01:05:39 +09:00 |
|
Fabian
|
0a359a2495
|
Allow flags optimisation to be used for setcc/cmovcc instructions
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
e50d4fa5a8
|
Fix flags in cmpxchg in jit
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
a464c77ec0
|
Also mask other 16-bit arithmetic (not strictly necessary, but more robust for future changes)
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
21c7a88d16
|
Add assertion for immediate values in test_be
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
4cab56f2f4
|
Fix flags set by AAM instruction
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
6e0ab79d4f
|
Fix mask sign-extended 8-bit immediate to 16-bit for cmp (fixes #726)
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
88d205396d
|
Remove some unused pub annotations
|
2022-09-06 00:26:39 +09:00 |
|
Fabian
|
f1ebdb1c72
|
implement fbstp (close #708)
|
2022-08-02 21:40:57 +09:00 |
|
Fabian
|
961a9f46ef
|
Properly mask values given to safe_read_write
|
2022-07-11 12:36:55 +09:00 |
|
Fabian
|
dec8fa0b59
|
Fix svga not rendering pixels at bottom of changed buffer (#628)
|
2022-03-10 21:46:57 +01:00 |
|
Fabian
|
4eb1e5035e
|
Optimised putImageData
|
2022-02-22 00:39:05 +01:00 |
|
Fabian
|
e0551fcee4
|
minor
|
2022-02-22 00:39:05 +01:00 |
|
Fabian
|
726bccf7da
|
c2rust cleanup (remove wrapping_*)
|
2022-02-22 00:39:05 +01:00 |
|
Fabian
|
be3be4827d
|
c2rust cleanup (remove _0 from field names)
|
2022-02-22 00:39:05 +01:00 |
|
Fabian
|
52ccc6a03c
|
Port svga rendering to rust
|
2022-02-22 00:39:05 +01:00 |
|
Fabian
|
97f29af274
|
Move around paging code
|
2022-02-21 00:11:00 +01:00 |
|