Commit Graph

96765 Commits

Author SHA1 Message Date
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