Commit Graph

207 Commits

Author SHA1 Message Date
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
Denis Drakhnia 4bce722d48 target: e2k: Add basic setmas support. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 0ce16f0ca7 target: e2k: Fix extending sign 32-bit literal. 2022-06-10 11:48:12 +03:00
Denis Drakhnia fe6df81676 target: e2k: gdb global registers tags ids. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 8af729fafb target: e2k: Add %clkr. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 8bcb8d6ed4 target: e2k: alc: Conditional execution. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 9b0e3ca129 target: e2k: Fix extraction of lp index. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 86265a8d84 target: add: Add getfs/getfd instrs. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 5cf2d90428 target: e2k: Add %idr. 2022-06-10 11:48:12 +03:00
Denis Drakhnia f509c99710 target: e2k: Add cmpand{op}{s,d}b instrs. 2022-06-10 11:48:12 +03:00
Denis Drakhnia d1df754c9d target: e2k: Add %upsr. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 17835f1c1d target: e2k: Use start+len for GET_FIELD. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 8ac7081344 target: e2k: Add PLU instructions. 2022-06-10 11:48:12 +03:00
Denis Drakhnia 938d78d836 target: e2k: Fix load instrs. 2022-06-10 11:48:12 +03:00
Alibek Omarov d699c2622b target: e2k: alc: support cmp{op}sb 2022-06-10 11:48:12 +03:00