Karol Stasiak
9ff888c0d9
Fixed zero-extending for bytes; improved adding bytes to constant words
2018-03-18 23:54:02 +01:00
Karol Stasiak
986252db5b
Added some more optimizations
2018-03-18 23:52:40 +01:00
Karol Stasiak
fa34402749
Segment syntax test
2018-03-17 13:49:37 +01:00
Karol Stasiak
e0c3a566b7
Long comparisons; word vs unsigned byte comparison optimization
2018-03-16 13:19:54 +01:00
Karol Stasiak
516d7eae26
Removal of the <<<< operator; nonet operation improvements
...
Use `nonet(a << b)` instead of `a <<<< b`
2018-03-16 00:34:24 +01:00
Karol Stasiak
8a347e5058
Preliminary segment support; C16/+4 fixes
2018-03-15 23:09:19 +01:00
Karol Stasiak
9e8a125487
Various optimization improvements and bugfixes
2018-03-14 18:50:58 +01:00
Karol Stasiak
38f3923d4d
Shifting by variable amount
2018-03-11 23:02:34 +01:00
Karol Stasiak
89b23ee425
Expanding macros from within assembly
2018-03-10 21:52:28 +01:00
Karol Stasiak
739461bfa9
Word addition and bit ops; better handling of side effects
2018-03-10 21:48:04 +01:00
Karol Stasiak
59cf1e06b4
nonet() operator
2018-03-10 00:08:13 +01:00
Karol Stasiak
807a9df8ac
Fixed org option
2018-03-09 00:07:05 +01:00
Karol Stasiak
1d865302ca
Indexing fixes; 16-bit indexing
2018-03-07 12:36:21 +01:00
Karol Stasiak
11337f4975
Optimizing predictable reads from local variables
2018-03-06 23:43:09 +01:00
Karol Stasiak
af812fe348
else if
2018-03-06 16:46:50 +01:00
Karol Stasiak
791f910cc4
Optimize away impossible odd/even equalities
2018-03-06 16:44:57 +01:00
Karol Stasiak
05e147b880
Removal of detailed flow analysis; it was slow and not worth it
2018-03-05 12:41:43 +01:00
Karol Stasiak
15dbaad6d1
Use zero page locations as as pseudo-registers; 8-bit multiplication and 16-bit shifts
2018-03-05 12:05:37 +01:00
Karol Stasiak
50ddd52786
Added break and continue statements
2018-03-03 21:34:12 +01:00
Karol Stasiak
6ed5d51260
Preliminary support for 65816, 65CE02 and HuC6280
2018-03-03 01:21:57 +01:00
Karol Stasiak
50b93db337
Constant pointer optimization
2018-03-01 15:57:54 +01:00
Karol Stasiak
3dc526bcb7
hi()/lo() builtins; identity table for using index registers as operands
2018-02-28 01:13:05 +01:00
Karol Stasiak
f9835ebf7e
Removed invalid optimization, added bit shifting optimization
2018-02-27 12:01:53 +01:00
Karol Stasiak
ee18fecedf
Optimize variables only written once
2018-02-27 01:20:42 +01:00
Karol Stasiak
7b480ea876
Even more optimizations
2018-02-26 01:07:23 +01:00
Karol Stasiak
7cd13332a3
More optimizations using illegal opcodes
2018-02-25 00:46:21 +01:00
Karol Stasiak
fa56d31cb4
Fixes for pointee incrementing and decimal addition
2018-02-25 00:45:25 +01:00
Karol Stasiak
d6f38ba87b
More optimizations
2018-02-14 22:50:34 +01:00
Karol Stasiak
54e7139e84
Refactoring
2018-02-11 18:55:21 +01:00
Karol Stasiak
2665f18c77
Macro expansion fix, improved constant folding
2018-02-03 17:49:29 +01:00
Karol Stasiak
0ca1be0c00
Tons of things:
...
– changed `inline` to `macro`
– added support for parameters for macros written in Millfork
– added `inline`, `noinline`, `register` hints
– added <<<< operator
– pointer dereference expressions are now supported more widely
– C64 library fixes
– added `-O1` command line option as an alias for `-O`
2018-02-01 22:39:38 +01:00
Karol Stasiak
c599db0068
Inline assembly improvements
2018-02-01 00:22:53 +01:00
Karol Stasiak
9410b8f9e3
Interrupt handler optimization
2018-01-31 22:27:11 +01:00
Karol Stasiak
341466b198
Decimal multiplication, decimal right shift fixes
2018-01-31 22:26:20 +01:00
Karol Stasiak
c26d36f974
Added return dispatch statements.
2018-01-30 17:38:32 +01:00
Karol Stasiak
ac51bcaf6c
Optimizing pointless sign extensions
2018-01-30 17:37:37 +01:00
Karol Stasiak
49d126ffa0
RLE decoding test
2018-01-29 12:08:44 +01:00
Karol Stasiak
7bbf655e6f
Optimization bugfixes
2018-01-29 12:08:21 +01:00
Karol Stasiak
c5d4665c92
Inlining variables into accumulator; flag behaviour preservation when inlining variables
2018-01-21 21:54:37 +01:00
Karol Stasiak
5d6be83499
Fix tests running in headless JVMs
2018-01-20 22:43:12 +01:00
Karol Stasiak
4e80236a65
For-to loop fixes
2018-01-20 22:32:57 +01:00
Karol Stasiak
7e04312462
More optimizations
2018-01-20 20:00:51 +01:00
Karol Stasiak
8d818f7624
Early name check improvements
2018-01-20 02:12:12 +01:00
Karol Stasiak
ba9e1b6475
Type casting
2018-01-20 01:54:10 +01:00
Karol Stasiak
372d341763
Replacing Ml* with Mf* everywhere
2018-01-20 01:32:06 +01:00
Karol Stasiak
c520bbb698
Comparison improvements
2018-01-20 01:30:46 +01:00
Karol Stasiak
cb5f025ea9
Early name check
2018-01-20 00:57:37 +01:00
Karol Stasiak
64f72c8a1c
Optimization fixes (inlining to registers, function inlining, bit operations, DCP opcode)
2018-01-18 22:37:57 +01:00
Karol Stasiak
d696704af9
More bit-packing and transfer optimizations
2018-01-08 12:00:46 +01:00
Karol Stasiak
502faa3694
panic()
2018-01-08 01:17:48 +01:00