Commit graph

104 commits

Author SHA1 Message Date
Quentin Carbonneaux
62e238a6ef great renaming campain! 2016-03-25 14:02:43 -04:00
Quentin Carbonneaux
12e22bb1b4 lamely handle swap of sse registers 2016-03-18 15:15:02 -04:00
Quentin Carbonneaux
ce7fd0cb49 add unsigned division and remainder 2016-03-16 11:30:57 -04:00
Quentin Carbonneaux
db6f7ad72d add shift instructions 2016-03-16 11:18:28 -04:00
Quentin Carbonneaux
8645a5ae23 add more info in opdesc[] 2016-03-08 16:47:34 -05:00
Quentin Carbonneaux
995deebfd7 add a default align for data defs 2016-03-08 11:05:10 -05:00
Quentin Carbonneaux
cebec4dd47 add new cast instruction 2016-03-07 13:46:44 -05:00
Quentin Carbonneaux
169411a220 add some (easy) instructions 2016-03-03 17:40:48 -05:00
Quentin Carbonneaux
d419274b04 revert buggy test in memory refs emission 2016-02-29 11:28:07 -05:00
Quentin Carbonneaux
d3530271f8 cosmetics 2016-02-29 10:09:17 -05:00
Ori Bernstein
b65a6892dd Error properly on strings.
Don't print junk when we don't have 'b' for a string.
2016-02-28 20:47:24 -08:00
Ori Bernstein
542d89bcd5 Add zero fill data. 2016-02-28 20:39:41 -08:00
Ori Bernstein
8a9b0c5513 Add strings as 'b "foo"' 2016-02-28 20:36:01 -08:00
Ori Bernstein
50c5af4290 Allow trailing and ',' and references in data.
This change adds support for two things:

		data $foo {l 123,}

	Which allows easier machine generation of data
	statements. It also adds the ability to parse
	and emit references in data declarations.
2016-02-28 20:16:20 -08:00
Quentin Carbonneaux
ebaec26046 do not print null offsets 2016-02-24 12:37:21 -05:00
Quentin Carbonneaux
eae16f56eb fix swapped operands on emitcopy() call 2016-02-24 12:10:37 -05:00
Quentin Carbonneaux
b7b430e578 simplify emit table 2016-02-22 14:07:05 -05:00
Quentin Carbonneaux
97cfdc309e stop using OXxx1 and use new OLoad 2016-02-18 19:40:40 -05:00
Quentin Carbonneaux
95bd36c620 fix comments in emit 2016-02-15 16:34:16 -05:00
Quentin Carbonneaux
c237d0dd74 quickly patch emit (fp load and store) 2016-02-15 16:34:16 -05:00
Quentin Carbonneaux
16e430935d collect and emit fp constants 2016-02-15 16:34:16 -05:00
Quentin Carbonneaux
53a5d7de2a fp cmp fixes (highly untested) 2016-02-11 16:12:11 -05:00
Quentin Carbonneaux
610e03f6d0 fix indent in emit 2016-02-04 14:37:28 -05:00
Quentin Carbonneaux
dd6ed823f0 more mac os compatibility in emit 2016-02-04 14:30:28 -05:00
Quentin Carbonneaux
1c75c40889 cheap rip relative hack 2016-02-04 14:28:55 -05:00
Quentin Carbonneaux
90138539bc fix emit bugs for binops 2016-02-04 12:21:50 -05:00
Quentin Carbonneaux
77cfb14f58 fix typo in emit tables 2016-02-04 11:58:47 -05:00
Quentin Carbonneaux
f72e1d4b02 fix call emission 2016-02-03 16:45:51 -05:00
Quentin Carbonneaux
45b6017a61 finish emit lifting, seems ok now 2016-02-03 15:50:02 -05:00
Quentin Carbonneaux
09176bc115 more revamp in emit 2016-02-03 11:33:34 -05:00
Quentin Carbonneaux
cf3f6edb75 document emit format 2016-02-02 14:25:10 -05:00
Quentin Carbonneaux
b375751755 start emit simplification 2016-01-29 15:13:19 -05:00
Quentin Carbonneaux
5097cf1d42 stores becomes storeh 2015-11-30 10:18:03 -05:00
Quentin Carbonneaux
05f120431d this test optimization is sometimes incorrect 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
9c29630dbf small fix in memory refs emission 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
ab7a5c277a add support for RAMem in emit 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
04b66d38db start integrating RAMem references 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
b284721c8a emit code for extensions, move slots into RAlt 2015-10-30 13:20:42 -04:00
Quentin Carbonneaux
7c6fadc6ba uniformize sign extension and mem loads 2015-10-19 17:28:21 -04:00
Quentin Carbonneaux
e53054c076 allow multiple functions in file 2015-10-08 22:02:32 -04:00
Quentin Carbonneaux
25f7bc06e3 emit alignment directives properly 2015-10-08 14:49:00 -04:00
Quentin Carbonneaux
fb423f749c finish implementing data parsing 2015-10-07 22:26:13 -04:00
Quentin Carbonneaux
3ef2693154 support negative frame offsets in emit
They are used to access function parameters passed
on the stack.
2015-10-01 13:19:09 -04:00
Quentin Carbonneaux
7333826bce uniformize alignment code in framesz() 2015-09-30 11:25:18 -04:00
Quentin Carbonneaux
e2174da2f1 wip on new stack slots (emit, spill) 2015-09-29 22:25:49 -04:00
Quentin Carbonneaux
98c5a405bb parse return types of functions 2015-09-22 16:52:48 -04:00
Quentin Carbonneaux
ff607f1a1e emit syntactically valid calls 2015-09-21 19:28:10 -04:00
Quentin Carbonneaux
fb0803ec13 factor formatting inside emitf 2015-09-20 17:59:11 -04:00
Quentin Carbonneaux
540bf52836 simplify two loops with a pointer 2015-09-20 17:51:04 -04:00
Quentin Carbonneaux
9fcad221d0 save callee-save registers 2015-09-20 17:47:23 -04:00