Commit Graph

13 Commits

Author SHA1 Message Date
fsfod
a81dcf62ac Fix Intrinsics crashing in the JIT for LJ_GC64 because they were using RID_DISPATCH
Make RID_DISPATCH an unallocatable register for intrinsics when building as GC64.

Fix trying to evict RID_DISPATCH for LJ_GC64 builds on x64 for intrinsics and
add some asserts that we never try to again.
Don't set register hints for intrinsic input\output registers that are RID_DISPATCH.
Restore RID_DISPATCH first when handling output registers and defer it
till last for input registers of intrinsics in the JIT.
2019-12-08 21:36:38 +00:00
fsfod
cb3c483264 Don't allow stitching to defeat our black listing of the loop in jit_tester 2019-12-08 21:36:38 +00:00
fsfod
748091cfd9 CSE support for intrinsics only enabled for single value returning intrinsics that have no side effects and are not forced indirect ModRM which could be a load or store 2019-12-08 21:36:38 +00:00
fsfod
befcdc6e55 Added VEX opcode support for intrinsics 2019-12-08 21:36:38 +00:00
fsfod
a374e90531 Added a flag(s) for opcodes with non memory store side effects and enabled DCE of intrinsics
Intrinsics are now assumed to have no side effects unless flagged to with either memory side effects(S) or non memory side effects(s)
2019-12-08 21:36:38 +00:00
fsfod
275d0dcdd7 Treat IR_INTRN as potential load with respect to DSE 2019-12-08 21:36:38 +00:00
fsfod
f7331e9464 Added JIT support for intrinsics. Support for vector registers is NYI. 2019-12-08 21:36:38 +00:00
fsfod
57ff67552a Added support for 4 byte opcode intrinsics 2019-12-08 21:36:38 +00:00
fsfod
de4c0b6ea5 Implement support for opcodes with dynamic registers 2019-12-08 21:36:38 +00:00
fsfod
e6fecee925 Added support for casting vectors to a pointer when using lj_cconv_ct_tv by using a special cast flag(CCF_INTRINS_ARG) for intrinsic vector arguments 2019-12-08 21:36:37 +00:00
fsfod
f21526df9b Added support for ymm registers in intrinsics 2019-12-08 21:36:37 +00:00
fsfod
e1a1721ae2 Template intrinsics user machine code 2019-12-08 21:36:37 +00:00
fsfod
c84b176062 Initial support for intrinsics on x86/x64 interpreter only 2019-12-08 21:36:37 +00:00