Denis Drakhnia
|
177922ca64
|
e2k: Split ALC decode/generate stages.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
99280ddade
|
e2k: Fix movxc.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
00a4284abb
|
e2k: Reorg fcomb ops.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
1caf8cf356
|
e2k: Reorg icomb ops.
|
2022-06-10 11:48:18 +03:00 |
Alibek Omarov
|
dd64dfa134
|
e2k: %pfpfr write stubs
|
2022-06-10 11:48:18 +03:00 |
Alibek Omarov
|
400947bba3
|
e2k: implement fsqrttd/fxsqrttxx through ignoring what fsqrtid/fxsqrt{i,u}xx does
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
65675ac1cf
|
e2k: Check address before MOVA memory read.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
cf04412feb
|
e2k: Do not align mova addr.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
a37964a9d3
|
e2k: Fix fcomb operand ordering.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
b166b260da
|
e2k: Impl neg src2 in fscale{s,d} and fxscalesx.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
399416a0d7
|
e2k: Allow to execute frcps, fsqrts, frsqrts.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
f018f02a5b
|
e2k: Add movt{,c}{s,d,q} ops.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
6277820c04
|
e2k: Add fscale{s,d} and fxscalesx ops.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
7c4ff94e5f
|
e2k: Impl basic init thread support.
|
2022-06-10 11:48:18 +03:00 |
Alibek Omarov
|
73b99e75c2
|
e2k: add fxtoi{s,d}{,tr} and i{s,d}tofx instructions
|
2022-06-10 11:48:18 +03:00 |
Alibek Omarov
|
ac964b4826
|
e2k: add stringified opcodes
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
732033c341
|
e2k: Fix mova{b,h,w} reg tag write.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
9354896d9c
|
e2k: Fix insfd.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
2536956da6
|
e2k: Fix getf{s,d}.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
7dde6cc100
|
e2k: ecnt must not decrement if vlc is not set.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
38ef61024d
|
e2k: Fix incorrect epilogue counter decrement.
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
9e8c927036
|
e2k: Add delayed window bounds static/dynamic checks.
|
2022-06-10 11:48:18 +03:00 |
Alibek Omarov
|
f56cad7923
|
e2k: implement detecting ISA version by ELF flags, throw an error for protected mode and x86 recompiled binaries for now
|
2022-06-10 11:48:18 +03:00 |
Denis Drakhnia
|
23a0139ee6
|
e2k: Remove control.c
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
0b7f461be7
|
e2k: Remove pshtp and window base.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
9e79810b32
|
e2k: Fix incorrect restore from a breakpoint.
|
2022-06-10 11:48:17 +03:00 |
Alibek Omarov
|
9f39901e0a
|
e2k: implement plog_* instructions
|
2022-06-10 11:48:17 +03:00 |
Alibek Omarov
|
380a6384e0
|
e2k: add pf{mul,add,sub,div,min,max}d instructions
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
3b03e60115
|
e2k: Disable debug restore checks if not needed.
Do not check illtag if not needed.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
89aa3a80c1
|
e2k: Remove {GET,SET}_FIELD macros.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
53bb2d49eb
|
e2k: Small performance improvements.
Do not initialize alops_map for every tb.
Reduced alops size.
Delayed window bounds checks.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
5aa3d47668
|
e2k: Fix decoding of ALES2/5.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
562df00e27
|
e2k: Aaincr must be executed outside of the staa pred cond.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
28aafb053c
|
e2k: Restore usage of env CRs.
Fixes syscall e2k_longjmp2.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
ce88afe251
|
e2k: Add movx{,a,c} instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
d37ee639b1
|
e2k: Add {u,s}{div,mod}x instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
acc2f18f97
|
e2k: Add mpsadbh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
d2b6bb3f9c
|
e2k: Add phminposuh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
2e0f2dce66
|
e2k: Add pmulhrsh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
9440e28b68
|
e2k: Add psign{b,h,w} instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
780ccf14ab
|
e2k: Add phadd{,s}{h,w} and phsub{,s}{h,w} instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
e33a9d258b
|
e2k: Add packuswh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
8c318f6306
|
e2k: Add pmulubhh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
0b7c8d2650
|
e2k: Add pshufh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
8606e02150
|
e2k: Add punpck{l,h}{bh,hw,wd} instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
06471fe869
|
e2k: Add pshufw instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
dc9b17e91a
|
e2k: Add packsshb, packushb and packsswh instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
b9d7c5874a
|
e2k: Add pmovmskps and pmovmskpd instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
c998387f79
|
e2k: Add pextrh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
7b06c53816
|
e2k: Add pinsh instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
7fa077d557
|
e2k: Add pmulhh, pmulhuh and pmullh instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
e777b64356
|
e2k: Add pavgus{b,h} instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
0335773d70
|
e2k: Add pandd, pandnd, pord and pxord instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
83c06a7807
|
e2k: Add psadbw instr.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
0a7e3625e9
|
e2k: Add pmadd{h,ubsh} instrs.
|
2022-06-10 11:48:17 +03:00 |
Denis Drakhnia
|
7cb77dbe33
|
e2k: Add psra{h,w} instrs.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
c559bfb032
|
e2k: Add quad shifts instrs with 8-bit immediate.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
a074d1d1ad
|
e2k: Add packed shift inters.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
d233d8afa5
|
e2k: Add packed add and sub using saturation.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
034ceec4e7
|
e2k: Add padd{b,h,w} and psub{b,h,w} instrs.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
3fb4bcec13
|
e2k: Add pcmp{eq,gt}{b,h,w,d} instrs.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
e4e22e089c
|
e2k: Prepare to remove CRs from env.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
06df1e9168
|
e2k: Impl e2k_longjmp2 syscall.
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
db26409a33
|
e2k: fix dumb mistake in fcomb 64 instructions
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
1a73a97771
|
e2k: add fstoifs and fdtoifd instrs
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
3e98a47b0a
|
e2k: add whole class of packed min & max
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
27defe956a
|
e2k: partially refactor helper header
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
142104fd89
|
e2k: Reorg alc.
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
6f463100cc
|
e2k: implement f{,x}cmp{op}{s,d,x}f instructions
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
7f3dbf0c0d
|
e2k: elbrus by default have extended precision, set it
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
5f665e70ae
|
e2k: Decode/execute ct cond after alc execution.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
dae0735e36
|
e2k: Fix address generation in mova instrs.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
67413ad340
|
e2k: Fix fcmp{op}{s,d}b instructions.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
b9691deedb
|
e2k: Change pred type to TCGv_i32 in e2k_gen_store_preg.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
fb1c8adcc7
|
e2k: Invalidate mlock after each instruction.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
6633770b16
|
e2k: Fix operands order in icomb.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
7a667b7ba5
|
target: e2k: Add short, ext, ext1, ext2 alops table.
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
3607137905
|
e2k: add fcmp{op} instructions that write into normal register
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
1c16338c6d
|
target: e2k: Correctly save/restore wdbl.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
94f7599a54
|
target: e2k: Execute load on flush cache MAS.
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
ed20953a35
|
e2k: fpu: implement float combined instrs
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
66293fd843
|
e2k: helper_fpu: fix various compiler warnings
|
2022-06-10 11:48:16 +03:00 |
Alibek Omarov
|
cee5be3c9c
|
e2k: add fxcmp{op}{type}b instructions
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
797c661d91
|
target: e2k: Rename alc execute fns.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
60faf17466
|
target: e2k: HACK: Unlock mem addr forces %MLOCK condition.
|
2022-06-10 11:48:16 +03:00 |
Denis Drakhnia
|
126b8b310c
|
target: e2k: Add basic FX instrs.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
3796f54bad
|
target: e2k: Add movfi/movif instrs.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
5883b53088
|
target: e2k: Move fpcr/fpsr to state reg helpers.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
d5737b0927
|
target: e2k: Add get_src{1,2}_i80 funcs.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
c05dcc12d4
|
target: e2k: Add xreg read/write functions.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
1a52b6054b
|
target: e2k: Add temps for FX/SIMD ops.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
8881486b62
|
target: e2k: Remove rptr and tptr from state.
|
2022-06-10 11:48:15 +03:00 |
Alibek Omarov
|
c52d9f9af9
|
target: e2k: set disas isa version
|
2022-06-10 11:48:15 +03:00 |
Alibek Omarov
|
2c4f847a0f
|
target: e2k: fdiv has opc2 == 1, as well as additional fadd, fsub, fmul on e2k-v4. Fix SIGILL not generated when opce2 unrecognized for float conversion instructions
|
2022-06-10 11:48:15 +03:00 |
Alibek Omarov
|
b888c75194
|
target: e2k: add conversion instructions, handle float comparison with predicate result instrs
|
2022-06-10 11:48:15 +03:00 |
Alibek Omarov
|
ebb2b2485f
|
target: e2k: add basic fpu instructions
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
21b39b8206
|
target: e2k: Delete hack for saving USD registers on proc call/ret.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
245359c6f6
|
target: e2k: Add psubd instr.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
a2ac544dde
|
target: e2k: Fix address generation in staa.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
bcc311b773
|
target: e2k: Fix udivs exception hack.
|
2022-06-10 11:48:15 +03:00 |