Commit graph

3840 commits

Author SHA1 Message Date
Fabian c3e0bd1c8c Clean up makefile 2020-12-31 19:14:32 -06:00
Fabian ce1a742cb8 cmpxchg tests 2020-12-31 19:14:32 -06:00
Fabian 6a18618e76 jit cmpxchg8b 2020-12-31 19:14:32 -06:00
Fabian fc38676089 Simplify cmpxchg8b 2020-12-31 19:14:32 -06:00
Fabian 2e3b2374d3 Clean up and remove invalid assertion 2020-12-31 19:14:32 -06:00
Fabian 7826474fed Don't create pending jit entries 2020-12-31 19:14:32 -06:00
Fabian b166683e15 Remove useless repr(C) 2020-12-31 19:14:32 -06:00
Fabian 9b79278bb9 Much simpler implementation of jit cache 2020-12-31 19:14:32 -06:00
Fabian 677672b05f Minor 2020-12-31 19:14:32 -06:00
Fabian 4263edd95f Fix: Missing return in mov creg, reg 2020-12-31 19:14:32 -06:00
Fabian 51b09ade51 jit clc/stc (F8/F9) 2020-12-31 19:14:32 -06:00
Fabian 1f1474680b Update expect tests 2020-12-31 19:14:32 -06:00
Fabian 5081529b56 jit inc8/dec8 2020-12-31 19:14:32 -06:00
Fabian dc7108ee00 jit sse shift instructions (660F71/660F72/660F73) 2020-12-31 19:14:32 -06:00
Fabian ab5f6e99ba Fix warning 2020-12-31 19:14:32 -06:00
Fabian 514c2ad303 Automatically scale small resolutions 2x 2020-12-31 19:14:32 -06:00
Fabian b0106bb2b8 Log initial guest memory allocation, assert only once 2020-12-31 19:14:32 -06:00
Fabian 6e68839365 jit mmx shift instructions (0F71/0F72/0F73) 2020-12-31 19:14:32 -06:00
Fabian 7dc24ba180 jit pshufw (0F70) 2020-12-31 19:14:32 -06:00
Fabian 835396386e jit more mmx instructions (0F6*) 2020-12-31 19:14:32 -06:00
Fabian 03d0c02a56 jit more sse instructions (660F6*) 2020-12-31 19:14:32 -06:00
Fabian 59cad59a67 Better code for xmm-to-xmm register moves 2020-12-31 19:14:32 -06:00
Fabian 8c7bcdf094 jit sse mov instructions 2020-12-31 19:14:32 -06:00
Fabian a86d6c8f7e jit more sse instructions (660FD*) 2020-12-31 19:14:32 -06:00
Fabian 1efc4933f1 Fix outdated comment 2020-12-31 19:14:32 -06:00
Fabian 61b429c0b6 jit more sse instructions (660FE*) 2020-12-31 19:14:32 -06:00
Fabian 98ecc0d244 jit more sse instructions (660FF*) 2020-12-31 19:14:32 -06:00
Fabian 09c0099632 jit pmovmsk (0fd7/660fd7) 2020-12-31 19:14:32 -06:00
Fabian 78e6bc5995 jit more mmx instructions (0FD*) 2020-12-31 19:14:32 -06:00
Fabian 2711a3b356 jit more mmx instructions (0FE*) 2020-12-31 19:14:32 -06:00
Fabian 0b47c75a06 jit more mmx instructions (0FF*) 2020-12-31 19:14:32 -06:00
Fabian d93308f7d8 Remove code duplication (global pointers) 2020-12-31 19:14:32 -06:00
Fabian c8ddbbba22 Fix sse scratch registers overlaps fpu status word 2020-12-31 19:14:32 -06:00
Fabian 56272ca397 s/cpu2/cpu 2020-12-31 19:14:32 -06:00
Fabian b97c5661f5 Allow creating more than one nasmtest per instruction 2020-12-31 19:14:32 -06:00
Fabian 84fb38ae92 Implement SSE rounding modes for float-to-int conversions 2020-12-31 19:14:32 -06:00
Fabian 584ab0cca0 Support null segment #gp in jit mode (Windows 98 / Windows ME / QNX) 2020-12-31 19:14:32 -06:00
Fabian c88391d7fc Track whether segment offset is optimised away 2020-12-31 19:14:32 -06:00
Fabian c916e59dcb Simplify 2020-12-31 19:14:31 -06:00
Fabian 584c1e93ac Avoid aliasing reg128 structs (fixes pshuf*) 2020-12-31 19:14:31 -06:00
Fabian 1ff541997d Simplify pmovmskb 2020-12-31 19:14:31 -06:00
Fabian 143f74fd9f Fix benchmarks 2020-12-31 19:14:31 -06:00
Fabian 8646ee00a8 Clean up 2020-12-31 19:14:31 -06:00
Fabian dca4e7bb1e Add qemu release test 2020-12-31 19:14:31 -06:00
Fabian 91b43687e7 Experiment support for synchronous compilation (only node) 2020-12-31 19:14:31 -06:00
Fabian 159aaaa01f Move imm reads into generate_jit 2020-12-31 19:14:31 -06:00
Fabian ab46fe4f37 Refactor modrm decoding for jit 2020-12-31 19:14:31 -06:00
Fabian 9ccef87b88 Port arpl to rust 2020-12-31 19:14:31 -06:00
Fabian a348d2db96 Delete last_virt_esp and esp_phys 2020-12-31 19:14:31 -06:00
Fabian 46cb7eb212 Accept expect tests (order of types changed) 2020-12-31 19:14:31 -06:00