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 |
Denis Drakhnia
|
6496153694
|
target: e2k: Impl restore_state_to_opc.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
1dd030c321
|
target: e2k: Add e2k_todo{,_illop} macros.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
4646e43803
|
target: e2k: Add tlb_fill handler.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
8143c8c7e8
|
target: e2k: Clear registers in new allocated range of window.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
4a13be8f68
|
target: e2k: Fix incorrect registers view in gdb after exception.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
8cac70df0e
|
target: e2k: Fix gdb run till exit from func.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
d402c52f4a
|
target: e2k: %cr0 must hold pregs and ip of previous procedure.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
37b4ee19b0
|
target: e2k: Remove unneeded regs array in TCG state.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
ad6bc687e4
|
target: e2k: HACK: Tag storage for procedure stack.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
728e400620
|
target: e2k: Save PC before reading it in rr{s,d}.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
8028167de5
|
target: e2k: Select tag for taken source in merge{s,d}.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
5b444c9356
|
target: e2k: Add dbl window modifier.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
2446fbf44c
|
target: e2k: mova{b,h,w} must write to reg64.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
3497bb27c2
|
target: e2k: Impl multiple pred for ALC exec.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
381868f71a
|
target: e2k: Return aligned pointer from getsp.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
83e2503867
|
target: e2k: HACK: Add stack for USD registers.
CPU must restore `USD` after calls but I don't know how it should be implemented.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
42776dbe37
|
target: e2k: Add cmp{o,s,p}{s,d} instrs.
Fix cmpandp{s,d}b.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
5bdd9dcd3d
|
target: e2k: Do not account %predN for ct in loop prologue.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
64ac87f915
|
target: e2k: Add %pcntN condition.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
bd027ff219
|
target: e2k: Force ps pop in FX mode.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
9e1baaca2a
|
target: e2k: Ignore unimplemented mas opc in store.
|
2022-06-10 11:48:15 +03:00 |
Denis Drakhnia
|
db78528419
|
target: e2k: Add pmovmskb instr.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
2543a5cc12
|
target: e2k: Add p{min,max}{ub,sh} instrs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
b979c52ac5
|
target: e2k: Add staaq instr.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
2d0cb97529
|
target: e2k: Execute ALES2/5 together with others channels.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
4a572f8263
|
target: e2k: Add xregs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
a19227acd9
|
target: e2k: Log msg if wd.fx is setted.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
9662877725
|
target: e2k: Do not save IP on every instruction.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
65ffbc6d30
|
target: e2k: Reading %ilcr for gdb.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
9e88287e16
|
target: e2k: Fix setting ctpr.ipd for *disp instr.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
d66487e181
|
target: e2k: Dec store rem in loop mode.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
1c03415d9e
|
target: e2k: Restricted loop_mode implementation.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
0f874d1b0b
|
target: e2k: Fix reading aadN from gdb.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
31e084720a
|
target: e2k: Add basic mova{b,h,w,d} impl.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
bd6208c09f
|
target: e2k: Fix ctpr size.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
7578f94f7c
|
target: e2k: Remove merge condition from Instr.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
93acd43783
|
target: e2k: Add staa{b,h} instrs.
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
327bc03604
|
target: e2k: define CPUs we're testing against, define gdb arch
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
df21ab3d70
|
target: e2k: define CPUs we're testing against, define gdb arch
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
7bdf849174
|
target: e2k: Add clarification to gen_tag funcs.
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
e19c72c5df
|
target: e2k: add umulx/smulx instrs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
9dc320f574
|
target: e2k: Fix sxt/st operand sizes.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
8e033a839e
|
target: e2k: Hack delay %rN index gen for result.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
1ad7988e9a
|
target: e2k: Fix based preg.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
a357666e69
|
target: e2k: Log msg if dbl is setted.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
6aeee516f3
|
target: e2k: Add {u,s}mulhd instrs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
7ff1f54b8f
|
target: e2k: Add mova stubs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
250a648edf
|
target: e2k: Fix uninit plu_result.reg bug.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
5017d6fa5d
|
target: e2k: Add combined int instructions.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
d2518af194
|
target: e2k: Add Instr struct to alc.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
39bb97e24e
|
target: e2k: Reorganize tag usage.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
5a1e118992
|
target: e2k: Fix icont bug.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
80b3909fb0
|
target: e2k: Read %idr in rrd.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
cd57ff3686
|
target: e2k: Increase startup window size.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
aa93b81f40
|
target: e2k: Fix bitrev{s,d} instrs.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
e5126b32d4
|
target: e2k: Impl reading some regs through rrd.
%wd, %pcsp.lo, %pcsp.hi, %pcshtp, %cr1.hi, %cr1.lo.
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
4d88941e0a
|
target: e2k: add reading %ip register through rrd
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
0ac9e690a2
|
target: e2k: Fix getsp src2 size.
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
a410422f9a
|
target: e2k: add lzcnt and popcnt instrs (untested!)
|
2022-06-10 11:48:14 +03:00 |
Alibek Omarov
|
990976cf99
|
target: e2k: add bitrev instr
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
6a0a45602b
|
target: e2k: Impl pcmpeqb.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
1c1db1a395
|
target: e2k: Replace some panics with messages.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
a6d8edd30f
|
target: e2k: Add %cr1.{lo,hi} to rr{s,d}/rw{s,d}.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
b14ca9755f
|
target: e2k: Impl write AL result to ctpr.
|
2022-06-10 11:48:14 +03:00 |
Denis Drakhnia
|
683d96b8fa
|
target: e2k: Partial staa{d,w} implementation.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
51048a3f3e
|
target: e2k: Increase temp i32 limit.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
a7e7a746ca
|
target: e2k: Add paddd instr.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
300fe4742f
|
target: e2k: Add mul{s,d} instrs.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
72bcbbabb0
|
target: e2k: Add pshufb instr.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
32ee7f3b15
|
target: e2k: Add insf{s,d} instrs.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
f0390fa97b
|
target: e2k: Add gettag{s,d} instrs.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
f817f7e354
|
target: e2k: Add puttag{s,d} instrs.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
57b3469cda
|
target: e2k: Impl speculative execution.
|
2022-06-10 11:48:13 +03:00 |
Alibek Omarov
|
7d03b739e9
|
target: e2k: refactor instruction decoding based on active channel
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
294f11ecb6
|
target: e2k: Increace i32 temp limit.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
db10b6d8a4
|
target: e2k: Reorg reg file.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
a008c8d102
|
target: e2k: Add registers tags.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
06e789a573
|
target: e2k: Jump to ctpr_addr if ctpr is return.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
c81e20732d
|
target: e2k: Fix instr return.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
d2646eb82b
|
target: e2k: Update TODO messages.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
be45bd770e
|
target: e2k: Gen rt exception in udivs hack.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
2ba3ae22f6
|
target: e2k: Fix gen_goto_tb usage.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
2ab3c18ce1
|
target: e2k: Fix instr start address.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
0b4a9728dc
|
target: e2k: Move int helpers to separate file.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
f37d246c90
|
target: e2k: Make gdb happier.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
229797cfbd
|
target: e2k: Ps push/pop with pshtp.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
028d27ae4c
|
target: e2k: Add setwd helper.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
2ec66c49c5
|
target: e2k: Reorg cr1.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
5601f6e45a
|
target: e2k: Reorg wd.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
dd3aa7283a
|
target: e2k: Reorg br.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
4d16d006d5
|
target: e2k: Restore udivs dump state hack.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
9105937fd9
|
target: e2k: Reord pcsp.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
ab13f761a2
|
target: e2k: Reorg psp.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
8aa929e289
|
target: e2k: Move helper_cur_dec to TCG.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
b200334479
|
target: e2k: Add exceptions to wregs access.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
6ee4ab4bd3
|
target: e2k: Fix literal loading.
|
2022-06-10 11:48:13 +03:00 |
Denis Drakhnia
|
6d3f1d71e4
|
target: e2k: Fix control flow condition.
|
2022-06-10 11:48:12 +03:00 |
Denis Drakhnia
|
e7e3e91bfc
|
target: e2k: Add {s,u}div{s,d}.
|
2022-06-10 11:48:12 +03:00 |
Denis Drakhnia
|
a73f073ffe
|
target: e2k: Fix mas array size.
|
2022-06-10 11:48:12 +03:00 |
Denis Drakhnia
|
468277c315
|
target: e2k: Remove helper unimpl.
|
2022-06-10 11:48:12 +03:00 |