Commit graph

370 commits

Author SHA1 Message Date
Fabian
d074a7f8a4 make #ud non-panic 2025-08-25 15:03:49 -06:00
Fabian
51bd604cc5 remove "use strict" (is default in es6 modules) 2025-04-16 09:26:13 -07:00
Fabian
c11805a70a minor cleanup of imports 2025-04-16 09:26:13 -07:00
Rob Blanckaert
a9219613af Switch to es6 modules. 2025-04-06 08:53:49 -07:00
Fabian
2996c087fd switch to rust 2021, fix imports 2025-02-20 14:49:19 +01:00
Fabian
419a05e247 no tabs 2024-07-03 18:57:09 +02:00
Fabian
611cb611c1 correct undefined flags for bsf/bsr 2023-12-02 22:20:11 -05:00
Fabian
9e9632a8db remove trailing commas on single-line objects 2023-10-07 12:59:16 -05:00
Fabian
dda3d51ca5 don't generate random tests for fstsw (some flags are not implemented) 2023-10-07 12:59:16 -05:00
Fabian
77e8bcf1f6 simplify instruction table 2023-10-07 12:59:16 -05:00
Fabian
5242746e17 jit new fpu sse3 instructions 2023-09-22 15:08:31 -05:00
Fabian
6d90ce7dd8 reorder 2023-09-22 15:08:30 -05:00
Fabian
1ef33c323b namstests: don't assume intel 2023-09-20 08:57:41 -05:00
Ryan
c634ae290c
Implement SSE3 support in V86 (#906)
Co-authored-by: Fabian <copy@copy.sh>
2023-09-17 03:27:09 +02:00
Fabian
cd4338c7ab Late c2rust cleanup 2023-08-31 13:59:51 -06:00
Varun Ramesh
38a103c56b
Implement HADDPS instruction so that KolibriOS Raytracing demo can run. (#837) 2023-04-19 15:25:33 +02:00
Fabian
69e8eafeba test mov reg, sreg manually 2022-11-26 14:11:19 -06:00
Fabian
6b91f91c45 test pushf manually 2022-11-26 14:11:19 -06:00
Fabian
de2a1439aa jit: generate code for {66,}0f{c4,c5} (pinsrw, pextrw) 2022-11-26 14:11:19 -06:00
Fabian
625fdcd4a2 generate slightly better code for ud2 2022-11-26 14:11:19 -06:00
Fabian
753a6d1fb3 jit: handle fpu DA group 2022-11-15 10:14:28 +09:00
Fabian
16662ec979 jit: handle {66,}0f17 2022-11-15 10:14:28 +09:00
Fabian
1c8e1bbdfa jit: handle {66,}0f16 2022-11-15 10:14:28 +09:00
Fabian
f1ebdb1c72 implement fbstp (close #708) 2022-08-02 21:40:57 +09:00
Fabian
f9bcb08f78 use String.prototype.repeat 2022-02-17 17:37:14 +01:00
Fabian
36fcfe1b16 jit not8/neg8 2021-11-04 18:51:36 -05:00
Fabian
e8975ec436 pusha/popa should be block boundary 2021-05-22 23:59:24 -05:00
Fabian
48464a18d7 jit movsb/movsw/movsd 2021-04-10 14:27:14 -05:00
Fabian
6049e0c46c jit stosb/stosw/stosd 2021-04-09 21:52:00 -05:00
Fabian
4de8584cff jit scasw/scasd/lodsw/lodsd 2021-04-09 21:15:25 -05:00
Fabian
7b66ae874d jit scasb 2021-04-09 20:37:55 -05:00
Fabian
2e25308f17 jit lodsb 2021-04-09 19:51:27 -05:00
Fabian
b684342b2b Revert "jit 8E (mov sreg, reg)".
This optimisation was completely invalid, it's not possible call
switch_seg while in jit mode without saving registers.
2021-04-09 15:32:46 -05:00
Fabian
bc1f239c2b jit {,66}0F{14,15} (unpcklps, unpcklpd, unpckhps, unpckhpd) 2021-04-05 01:58:42 -05:00
Fabian
f4f3ec0ca1 jit {,66}0F{12,13} (movhlps, movlps, movlpd, movlps, movlpd) 2021-04-05 01:58:42 -05:00
Fabian
bbeca7a13d jit {F2,F3}0FC2 (cmpsd, cmpss) 2021-04-04 23:36:54 -05:00
Fabian
2a22980cf7 jit {F2,F3}0F2A (cvtsi2ss, cvtsi2sd) 2021-04-04 23:32:06 -05:00
Fabian
2b2d22f6d3 jit {,66}0F2A (cvtpi2ps, cvtsi2ss, cvtpi2pd, cvtsi2sd) 2021-04-04 22:56:50 -05:00
Fabian
9e63bab294 jit {,66}0F{2E,2F} (ucomiss, ucomisd, comiss, comisd) 2021-04-04 22:32:36 -05:00
Fabian
a0c4c32352 jit {,66,F2,F3}0F{5A,5B} (cvtps2pd, cvtpd2ps, cvtss2sd, cvtsd2ss, cvtdq2ps, cvtps2dq, cvttps2dq) 2021-04-04 20:58:40 -05:00
Fabian
c5ca3ca09e jit 0F{74,75,76} (pcmpeqb, pcmpeqw, pcmpeqd) 2021-04-04 16:27:26 -05:00
Fabian
44c606f5a6 jit 660F{75,76} (pcmpeqw, pcmpeqd) 2021-04-04 16:23:37 -05:00
Fabian
73aa610f72 jit 8E (mov sreg, reg) 2021-04-04 16:02:22 -05:00
Fabian
28369ed790 jit {,66,F2,F3}0F{58,59,5C,5D,5E,5F} ({add,mul,sub,min,div,max}{ps,ss,pd,sd}) 2021-04-04 15:41:54 -05:00
Fabian
12ec5d753d jit {,66}0F{54,55,56,57} ({and,andn,or,xor}{ps,pd}) 2021-04-04 15:35:21 -05:00
Fabian
03566c2067 jit {,F3}0F53 (rcp{ps,ss}) 2021-04-04 15:35:21 -05:00
Fabian
38c484629d jit {,F3}0F52 (rsqrt{ps,ss}) 2021-04-04 15:35:21 -05:00
Fabian
297d649836 jit {,66,F2,F3}0F51 2021-04-04 15:20:51 -05:00
Fabian
bc11d7089e jit 0fc2/cmpps 660fc2/cmppd 2020-12-31 19:14:34 -06:00
Fabian
2b7b562a56 jit 0fc6/shufps 2020-12-31 19:14:34 -06:00