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 |
|
Fabian
|
1dfdc9d19a
|
jit 660fc6/shufpd
|
2020-12-31 19:14:34 -06:00 |
|
Fabian
|
3a8102811d
|
jit f30f11/movss
|
2020-12-31 19:14:34 -06:00 |
|
Fabian
|
cf4af74d95
|
jit f30f10/movss
|
2020-12-31 19:14:34 -06:00 |
|
Fabian
|
b43a5f4818
|
Mark fwait as block boundary again (fixes qnx hanging)
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
699bf5a2ce
|
Explain
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
37c3d1f83c
|
Generate direct control flow, using wasm blocks and loops
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
0c4e8a7e09
|
partially jit some sse conversion instructions
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
b859ce5085
|
jit fcomip df_6
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
81e1b7e5d2
|
jit movsd f20f11
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
307aed5fbc
|
jit movsd f20f10
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
cbafb411f0
|
jit bswap
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
9da02b46f1
|
jit bts/btr/btc
|
2020-12-31 19:14:33 -06:00 |
|
Fabian
|
6a18618e76
|
jit cmpxchg8b
|
2020-12-31 19:14:32 -06:00 |
|
Fabian
|
51b09ade51
|
jit clc/stc (F8/F9)
|
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 |
|