Commit Graph

55 Commits

Author SHA1 Message Date
Michael McLoughlin
c3a3000908 internal/load: doc exported symbols (#9) 2019-01-05 13:45:09 -08:00
Michael McLoughlin
9f1cb70aac internal/prnt: doc exported symbols (#9) 2019-01-05 11:53:35 -08:00
Michael McLoughlin
b0b4b88db4 avogen: package-level comment (#9) 2019-01-05 11:46:51 -08:00
Michael McLoughlin
f9a67bb2c0 internal/inst: doc exported symbols (#9) 2019-01-05 11:43:59 -08:00
Michael McLoughlin
301d0c137a internal/stack: helper package for querying stack frames
Intended for #5. Also replaces a helper function in the `printer`
package.
2019-01-04 00:46:27 -08:00
Michael McLoughlin
6d6ff3cfc1 legal: include LICENSEs for data files
We depend upon data files from golang arch sub-repo and the Opcodes XML
database (behind PeachPy). This change includes their LICENSE files.

Updates #22
2018-12-31 16:17:44 -08:00
Michael McLoughlin
9fbb71b6db lint: enable golint
Enables golint and fixes function naming errors (operand checks
incorrectly cased).

Fixes #10
2018-12-31 11:20:59 -08:00
Michael McLoughlin
662ae52758 examples: adapt to new const types 2018-12-26 17:08:58 -08:00
Michael McLoughlin
ca5c7e7454 printer: add generated code warnings 2018-12-18 22:57:26 -08:00
Michael McLoughlin
19d1761694 fix couple of tests 2018-12-11 22:35:01 -08:00
Michael McLoughlin
c882e52510 printing: commit some refactors (probably broken) 2018-12-11 00:18:22 -08:00
Michael McLoughlin
271670c14c avogen: make mov generator deterministic 2018-12-08 22:14:30 -08:00
Michael McLoughlin
69ee0e39cb parameter loading 2018-12-08 20:14:51 -08:00
Michael McLoughlin
00c50be004 enable some more linters 2018-12-05 00:49:12 -08:00
Michael McLoughlin
b52c67f3fb pass: naive implementation of liveness 2018-12-02 23:59:29 -08:00
Michael McLoughlin
96a5c5fe1e ctors: include implicit inputs/outputs 2018-12-02 21:12:56 -08:00
Michael McLoughlin
82b31fa0da wip: adding instruction inputs and outputs 2018-12-02 17:57:12 -08:00
Michael McLoughlin
43575d8b61 start at some basic passes 2018-12-02 13:51:03 -08:00
Michael McLoughlin
9b9f5b7e0c first pass at a "builder" interface 2018-11-30 20:43:31 -08:00
Michael McLoughlin
b65b6c02b8 return a basic instruction object 2018-11-27 22:38:53 -08:00
Michael McLoughlin
23289963d9 ctorstest: some more variants 2018-11-27 22:11:45 -08:00
Michael McLoughlin
4395adacc8 x86: rel types and generated tests 2018-11-27 22:08:11 -08:00
Michael McLoughlin
bed7e7e2c2 stub operand checks 2018-11-26 10:13:04 -08:00
Michael McLoughlin
af02be06ba add skeleton for instruction constructors 2018-11-25 21:50:46 -08:00
Michael McLoughlin
4dcfed6e16 add instruction arities function 2018-11-25 18:25:51 -08:00
Michael McLoughlin
09848512cc add -bootstrap option to avogen 2018-11-25 17:11:24 -08:00
Michael McLoughlin
0694ebab9b ensure all stdlib opcodes are present 2018-11-25 16:22:02 -08:00
Michael McLoughlin
6d3e3be578 generate test to ensure code generation worked 2018-11-24 17:53:17 -08:00
Michael McLoughlin
0edbdb064f supporting more instructions seen in stdlib 2018-11-24 17:32:18 -08:00
Michael McLoughlin
a70227cbe3 test for stdlib opcodes 2018-11-24 14:55:51 -08:00
Michael McLoughlin
898d66c585 test asmtest with instruction list 2018-11-24 14:20:04 -08:00
Michael McLoughlin
bec73ca7a1 basic instruction properties 2018-11-24 14:08:55 -08:00
Michael McLoughlin
70dcf2b611 generate the instruction table 2018-11-24 13:47:30 -08:00
Michael McLoughlin
f1e1da6387 refactors to code generation 2018-11-24 13:00:27 -08:00
Michael McLoughlin
4571841ee5 fix implicit operands 2018-11-23 23:48:47 -08:00
Michael McLoughlin
4e059c258b import isa and implicit operands 2018-11-23 17:14:18 -06:00
Michael McLoughlin
86373c79ee load: handle MOVABS special case 2018-11-23 16:14:05 -06:00
Michael McLoughlin
2f7c14f061 loadertest: more vm* operands 2018-11-23 15:31:12 -06:00
Michael McLoughlin
ae6909493c loadertest: support vm32{x,y} 2018-11-23 15:26:19 -06:00
Michael McLoughlin
6370e39b88 oops: do not skip CALL instruction 2018-11-22 16:22:36 -06:00
Michael McLoughlin
4404836ff4 loadertest: rel8/32 operands 2018-11-22 16:21:05 -06:00
Michael McLoughlin
27235485a6 m256 arguments, MMX exception 2018-11-22 15:24:28 -06:00
Michael McLoughlin
1f20eae901 loadertest: more operand types 2018-11-22 14:58:31 -06:00
Michael McLoughlin
e97da03f19 loadertest: add memory operands 2018-11-22 14:12:20 -06:00
Michael McLoughlin
c67dcb7fa9 add more immediates to loader test 2018-11-22 11:17:46 -06:00
Michael McLoughlin
c1601f0fe0 remove ifind.sh from git 2018-11-21 23:08:05 -06:00
Michael McLoughlin
b5c22e9464 handle order differences 2018-11-21 23:06:29 -06:00
Michael McLoughlin
c30d7fb743 handle xmm instructions 2018-11-21 22:28:55 -06:00
Michael McLoughlin
836252fa13 add some encoding fields to Opcodes XML reader 2018-11-21 21:38:19 -06:00
Michael McLoughlin
59e6af7d36 wip 2018-11-21 13:02:18 -06:00