Commit Graph

227 Commits

Author SHA1 Message Date
Ben Vanik e785e31a6f Disabling context prop pass until register spilling is implemented. 2014-01-26 17:52:45 -08:00
Ben Vanik d323e6d3ec Indirect calls and fixing v128 const loads. 2014-01-26 17:52:32 -08:00
Ben Vanik 0123b63aa2 Adding (somewhat) ivm compatible ctx load/store tracing. 2014-01-26 17:42:03 -08:00
Ben Vanik 638d9631af Fixing register allocation bug. 2014-01-26 17:38:40 -08:00
Ben Vanik f55fb17e1b MUL/MUL_HI/DIV 2014-01-26 16:09:25 -08:00
Ben Vanik ebaf8aa16d Fixing extends. Xbyak doesn't have good validation, so expecting more :( 2014-01-26 15:46:10 -08:00
Ben Vanik e52a7bc3af Fixing things, breaking others. 2014-01-26 15:10:39 -08:00
Ben Vanik 122761835e Adding new instructions and cleaning things up a bit. 2014-01-26 12:14:29 -08:00
Ben Vanik bbf3b4bdab Fixing tail calls. 2014-01-26 11:45:58 -08:00
Ben Vanik aadf92e4ea 'Fixing' register clobbering by disabling a bunch of nonvolatile regs. 2014-01-26 11:18:12 -08:00
Ben Vanik ac59b61851 Fixing register eviction. 2014-01-26 11:17:53 -08:00
Ben Vanik 5eeeee7093 Fixing jumps. 2014-01-26 11:17:12 -08:00
Ben Vanik 7fe0a10d43 Adding back --break_on_instruction. 2014-01-26 11:16:55 -08:00
Ben Vanik 3e52a99adf Fiddling with stack. Still wrong. 2014-01-26 04:34:29 -08:00
Ben Vanik 495edda8d8 Logging comments like IVM. 2014-01-26 04:01:51 -08:00
Ben Vanik 51ae8299d9 Fixing stack size. 2014-01-26 03:54:50 -08:00
Ben Vanik 20c8eb1561 Making debug disassembly look a bit better. 2014-01-26 03:24:55 -08:00
Ben Vanik cb352c6c86 Fancy templated helpers. 2014-01-26 03:17:03 -08:00
Ben Vanik ecf0988ddb Removing SET_RETURN_ADDRESS - hopefully it'll never be needed again. 2014-01-26 01:18:59 -08:00
Ben Vanik 8789fd4134 Heuristically detecting ret - probably breaks some things. 2014-01-26 01:09:25 -08:00
Ben Vanik c74f35552a (air quotes) "register allocation" without spills. 2014-01-25 23:36:59 -08:00
Ben Vanik c4d6c7a526 Reducing value count. IVM could take advantage of this. 2014-01-25 22:47:21 -08:00
Ben Vanik 05432242ff Removing block continuation branches. 2014-01-25 21:35:59 -08:00
Ben Vanik f438fa980d Fixing source offsets. 2014-01-25 21:32:30 -08:00
Ben Vanik 0cca23cdd7 Source map in DebugInfo. IVM needs to port its stuff over eventually. 2014-01-25 21:20:28 -08:00
Ben Vanik 4609339c5a JIT hackery. Not quite working. 2014-01-25 20:30:41 -08:00
Ben Vanik bbe50cfe26 Disabling x64 backend. 2014-01-24 23:34:18 -08:00
Ben Vanik 8ae6053d0f Deleting LIR and such, wiring up for HIR->x64. 2014-01-24 22:26:15 -08:00
gibbed 7dc8a5931f Quick hack fix for vsldoi128. 2014-01-24 10:01:45 -08:00
gibbed c6642331fa Small cleanup. 2014-01-24 03:42:07 -08:00
gibbed 1ac84cf255 VECB16, VECS8, VECI4, VECF4 macros. 2014-01-24 03:39:10 -08:00
gibbed 855173b2bd Probably broke everything. 2014-01-24 00:00:20 -08:00
Ben Vanik 53b9ed5214 Simplifying disassembler. Much faster than before. 2014-01-23 20:31:27 -08:00
Ben Vanik f36e6cd820 Removing JSON dumps. 2014-01-23 20:31:26 -08:00
Ben Vanik f93a21884c Moving descriptions to instr table, part of issue #51. 2014-01-23 20:31:26 -08:00
gibbed 16918eea07 Disabled source offset tracking by default. 2014-01-20 08:18:49 -08:00
Ben Vanik f75517f7f8 Fixing add 32 w/ saturate. 2014-01-19 00:53:22 -08:00
Ben Vanik af4e107905 Experimenting with instrument API. Not quite right. 2014-01-16 23:27:11 -08:00
Ben Vanik 991e7d8ad3 Refactoring window stuff. Still needs some work. 2014-01-14 22:40:02 -08:00
Ben Vanik 9a09c2072e Fixing badness in release mode. 2014-01-14 18:28:40 -08:00
Ben Vanik a02f5c3e7a Fixing alloy analysis warnings. 2014-01-14 01:11:42 -08:00
Ben Vanik 50587974b5 Not sure why I thought I could do this. 2014-01-14 00:39:31 -08:00
Ben Vanik 81226db1b4 Fixing broken instruction decoding. 2014-01-13 23:24:28 -08:00
Ben Vanik 857ce4a2e2 Crazy working permute by Rick. 2014-01-13 22:37:07 -08:00
Ben Vanik dcc0e55a90 Fixing the unpacks. 2014-01-13 22:37:07 -08:00
Ben Vanik f82eccdc7c Hacking in vupkhsh/etc. The instruction tables need a rewrite. Yuck. 2014-01-13 22:37:06 -08:00
Ben Vanik faa75c9407 Making debug info toggles a flag to allow finer control. 2014-01-13 21:12:10 -08:00
Ben Vanik dfaa0e2d08 Disabling mangled name extraction. 2014-01-13 20:51:35 -08:00
gibbed 4e9d3a00e4 Fixed constant values not being cloned correctly. 2014-01-12 22:06:10 -08:00
gibbed dde2b1ff41 I totally did not violate coding conventions in the last commit. 2014-01-12 20:27:12 -08:00
gibbed 65d5d1d559 Added tracking of source address for an easier time while debugging. 2014-01-12 20:22:43 -08:00
Ben Vanik 2ed1dd452c Removing unused externs. 2014-01-12 20:08:50 -08:00
Ben Vanik 984d63a3d4 Removing redundant math. 2014-01-12 19:30:52 -08:00
Ben Vanik 5c755f09f0 Fixing addresses, perhaps. 2014-01-12 19:21:40 -08:00
Ben Vanik 413aa06605 vupkh|lsh 2014-01-12 18:04:24 -08:00
Ben Vanik 4cbee4620a Fixing branch CTR compare. Maybe. 2014-01-12 17:19:37 -08:00
Ben Vanik f6866098c5 Probably correct vupkh|lsb. 2014-01-12 15:41:18 -08:00
Ben Vanik eb5d7e0f31 Comments. 2014-01-12 14:43:59 -08:00
Ben Vanik 6129e1eb7a Simplifying macros to fix VS' broken preprocessor. 2014-01-12 14:06:00 -08:00
Ben Vanik 8085678f5a PACK/UNPACK. 2014-01-10 00:28:52 -08:00
Ben Vanik 3fbebcfa08 VectorAdd and saturation checks. 2014-01-09 21:57:07 -08:00
Ben Vanik 2980a30f30 vctsxs, vctuxs. 2014-01-09 21:20:03 -08:00
Ben Vanik 478781e0dc Various rounding instructions. 2014-01-09 20:44:23 -08:00
Ben Vanik 35ef6df1fc sradx, vcfsx, vcfux. 2014-01-09 20:28:26 -08:00
Ben Vanik 036d12581e VECTOR_SHR/_SHA. Fixing some disasm stuff. 2014-01-08 22:15:00 -08:00
Ben Vanik e7a31c78bf Simplifying byteswap(byteswap(a)) to a. 2014-01-08 18:47:39 -08:00
Ben Vanik 3dff790ce6 Fixing broken VX128_5 decoding. 2014-01-08 01:10:44 -08:00
Ben Vanik 894f22cd0b Oh FFS. LOAD_CLOCK. 2014-01-08 00:12:22 -08:00
Ben Vanik 698eaeeb88 Custom stack for IVM. 2-3x faster. 2014-01-06 23:11:10 -08:00
Ben Vanik 2ed6f478c1 Adding --always_disasm. 2014-01-06 22:51:06 -08:00
Ben Vanik ff66064275 Making --debug = false work. 2014-01-06 22:46:21 -08:00
Ben Vanik d1528e24bb Removing REM, adding MUL_HI, renaming MULADD/MULSUB. 2014-01-06 22:17:49 -08:00
Ben Vanik 3dcbcce38d POW2/LOG2 for vexptefp/vlogefp. 2014-01-06 18:13:16 -08:00
Ben Vanik 56476d276d Constant vec128 swap. 2014-01-05 16:22:41 -08:00
Ben Vanik a78447f015 Broken and. 2014-01-05 16:22:32 -08:00
Ben Vanik e8ca05ca0a MmQueryAllocationSize. 2014-01-05 11:19:02 -08:00
Ben Vanik 81c59c7912 Sign extend constant handling. 2014-01-05 02:24:16 -08:00
Ben Vanik 16d93c5fb3 nandx. 2014-01-05 01:51:38 -08:00
Ben Vanik c857d8da35 intcode SQRT. 2014-01-04 23:58:25 -08:00
Ben Vanik f23c330353 vrefp. 2014-01-04 15:44:56 -08:00
Ben Vanik d2336774de MIN/MAX intcode. 2014-01-04 15:44:14 -08:00
Ben Vanik 00d878c62a Fixing arena chunk reuse. 2014-01-04 14:34:49 -08:00
Ben Vanik 615229bd87 Minor fixes and debug helpers to track externs. 2014-01-04 13:20:19 -08:00
Ben Vanik e362a65189 Simplification pass handles redundant truncate/extend & extend/truncate. 2014-01-04 11:56:32 -08:00
Ben Vanik 4db1b13e98 DCE pass removes assigns. 2014-01-04 11:56:05 -08:00
Ben Vanik a8eff63dbc Adding skeleton for reg allocator. 2014-01-04 02:57:53 -08:00
Ben Vanik 93ea56179a Moving LoadAcquire/StoreRelease behavior up into HIR. 2014-01-04 00:50:48 -08:00
Ben Vanik 88b631b160 Emitting more x64. 2014-01-04 00:30:43 -08:00
Ben Vanik 2468645bf2 Making functions naked for now, as it makes life way easier. 2014-01-02 23:53:18 -08:00
Ben Vanik 99c200fda5 Fixing warning. 2014-01-02 23:39:53 -08:00
Ben Vanik 73d934b37b Emitting functions and SEH info for call stacks. 2014-01-02 23:11:16 -08:00
Ben Vanik 9ef2d1baf6 Calling generated code. Woo. 2014-01-02 20:56:21 -08:00
Ben Vanik e14d3379cb Hooking up code emission. 2014-01-02 20:41:13 -08:00
Ben Vanik 125e7278c6 Ugh. Replacing the fancy templates with hand coded sequences for now. 2014-01-02 00:00:14 -08:00
Ben Vanik 3e4f93a6a9 Playing with sequences. 2013-12-30 00:11:36 -08:00
Ben Vanik 08cff81f6a HIR->LIR flow. 2013-12-29 23:51:51 -08:00
Ben Vanik cd9172ed62 Resetting the builder arena. May be a bug or two here still. 2013-12-29 23:43:36 -08:00
Ben Vanik 63f11732a5 Wiring up the LIR flow. 2013-12-29 22:05:41 -08:00
Ben Vanik dec0e35957 More X64 backend skeleton work. 2013-12-29 19:54:17 -08:00
Ben Vanik 3d01efffac LIR skeleton, renaming some types to prevent conflict. 2013-12-29 14:28:46 -08:00