jespergravgaard
|
8f21ffc0e4
|
Implemented signed word multiplication & test.
|
2018-02-16 01:13:57 +01:00 |
|
jespergravgaard
|
34d3c732da
|
Implemented word multiplication
|
2018-02-15 20:36:26 +01:00 |
|
jespergravgaard
|
b5a79848f3
|
Implemented dword ASM and printing
|
2018-02-15 19:50:33 +01:00 |
|
jespergravgaard
|
8b54f38640
|
Implemented bitshift signed byte multiply.
|
2018-02-15 12:35:40 +01:00 |
|
Jesper Gravgaard
|
c936da289e
|
Implemented normal binary multiply for unsigned integers - mul8u().
|
2018-02-14 11:30:31 +01:00 |
|
Jesper Gravgaard
|
a6f32bea13
|
Renamed multiply.kc to fastmultiply.kc - and methods multiply()/signed_multiply() to mulf8u(), mulf8s()
|
2018-02-14 10:05:18 +01:00 |
|
Jesper Gravgaard
|
7900c846c9
|
Adde useful comment
|
2018-02-13 23:21:24 +01:00 |
|
Jesper Gravgaard
|
3eb08597cf
|
Implemented 16bit signed division.
|
2018-02-13 23:10:47 +01:00 |
|
Jesper Gravgaard
|
1fd0cd6874
|
Moved remainder to global var
|
2018-02-13 22:07:01 +01:00 |
|
Jesper Gravgaard
|
8705527316
|
Fixed conflict
|
2018-02-13 21:40:52 +01:00 |
|
Jesper Gravgaard
|
a50d685574
|
Fixed problem with phi lifting not updating predecessor in phi blocks when introducing new blocks. Implemented signed division for bytes.
|
2018-02-13 21:27:17 +01:00 |
|
jespergravgaard
|
1feed93b43
|
Renamed long branch fix label.
|
2018-02-13 13:05:46 +01:00 |
|
jespergravgaard
|
aec15a3125
|
Removed a bit of unused code.
|
2018-02-13 12:46:35 +01:00 |
|
jespergravgaard
|
c8a2d03550
|
Fixed register coalesce issues (Double.MIN_VALUE is unexpectedly positive).
|
2018-02-13 04:23:44 +01:00 |
|
jespergravgaard
|
9f80f71c64
|
Isolated KickAss assembly during test. Fixed long branches. Closes #62
|
2018-02-13 03:34:21 +01:00 |
|
jespergravgaard
|
2db042801b
|
Isolated KickAss assembly during test. Fixed long branches. Closes #62
|
2018-02-13 03:34:01 +01:00 |
|
jespergravgaard
|
0d6ce93e93
|
Added KickAss assembly to Test
|
2018-02-12 23:41:46 +01:00 |
|
jespergravgaard
|
52dd6035a0
|
Dropped JSON serialization. Added KickAss JAR.
|
2018-02-12 21:39:26 +01:00 |
|
jespergravgaard
|
6b43d797f5
|
Using address-of in test-division.
|
2018-02-11 23:55:52 +01:00 |
|
jespergravgaard
|
3f62d86312
|
Implemented working address-of operator byte* pte = &b1;
|
2018-02-10 22:08:36 +01:00 |
|
jespergravgaard
|
085aa9f825
|
Added missing toString/()
|
2018-02-03 15:46:12 +01:00 |
|
jespergravgaard
|
623f83a076
|
Added address-of operator. Working in basic programs. Transience of variables not implemented so there is a risk the variable being referenced is optimized into a constant or removed. Closes #78
|
2018-02-03 13:20:34 +01:00 |
|
jespergravgaard
|
7343a85b91
|
Moved division into library
|
2018-02-01 22:55:26 +01:00 |
|
jespergravgaard
|
b502c26140
|
Optimizing zeropage coalesce to minimize moving values around. Closes #80
|
2018-02-01 22:36:54 +01:00 |
|
jespergravgaard
|
45302103fa
|
Implemented 16bit division. Added support for word arrays. (idx must be multiplied by 2 manually)
|
2018-02-01 20:17:08 +01:00 |
|
jespergravgaard
|
e0124ee654
|
Added 8bit unsigned division. Ensured that pointers are generated into ASM labels.
|
2018-01-31 21:27:23 +01:00 |
|
jespergravgaard
|
b466f2f5cc
|
Added test provoking a register clobber error.
|
2018-01-30 22:23:07 +01:00 |
|
jespergravgaard
|
63f6620246
|
Implemented register(A/X/Y) keyword for allocating variables to specific register. Closes #70
|
2018-01-30 22:18:49 +01:00 |
|
jespergravgaard
|
7e268c5b4f
|
Moving declared register through the variable chain.
|
2018-01-30 11:50:18 +01:00 |
|
jespergravgaard
|
88744c8624
|
Consolidating variable methods - preparing to remove the 3 sub-classes.
|
2018-01-30 10:23:55 +01:00 |
|
jespergravgaard
|
6a012a3fd0
|
Added register keyword
|
2018-01-30 10:04:35 +01:00 |
|
jespergravgaard
|
02d7170a4c
|
Made ASM parenthesis hard.
|
2018-01-28 23:22:22 +01:00 |
|
jespergravgaard
|
341d8c5556
|
Renamed dword fragments from vl... to vd...
|
2018-01-28 23:09:47 +01:00 |
|
jespergravgaard
|
546644b7d3
|
Added parenthesis to ASM expressions.
|
2018-01-28 23:06:19 +01:00 |
|
jespergravgaard
|
9b09aaab14
|
Made dword value higher (>$80000000)
|
2018-01-28 22:15:09 +01:00 |
|
jespergravgaard
|
3d33851983
|
Improved dword type inference.
|
2018-01-28 17:21:57 +01:00 |
|
jespergravgaard
|
9025b7d64a
|
Removed verbose log.
|
2018-01-28 16:39:58 +01:00 |
|
jespergravgaard
|
fff4299fb2
|
Added dword and signed dword. Closes #76
|
2018-01-28 16:19:15 +01:00 |
|
jespergravgaard
|
b3a1c330a7
|
Removed two synthable fragments
|
2018-01-28 10:25:40 +01:00 |
|
jespergravgaard
|
4bbddfb5e2
|
Added comment.
|
2018-01-24 23:34:35 +01:00 |
|
jespergravgaard
|
f599eb2735
|
Expanded inline casting to also handle nop casts of pointer derefs.
|
2018-01-24 23:29:44 +01:00 |
|
jespergravgaard
|
15c1108d2c
|
Expanded inline casting to also handle word/pointer casts. Closes #2.
|
2018-01-22 00:31:28 +01:00 |
|
jespergravgaard
|
1646f9d3ff
|
Implemented inline casting - allowing for improved ASM when doing no-op casting.
|
2018-01-21 23:24:28 +01:00 |
|
Jesper Gravgaard
|
eab2e64154
|
Dropped suite again.
|
2018-01-21 16:30:37 +01:00 |
|
Jesper Gravgaard
|
1d54fec7be
|
Put tests into suite to get deterministic sequencing.
|
2018-01-21 11:39:06 +01:00 |
|
Jesper Gravgaard
|
9328608fe6
|
Rebuilt test files with new synth ASM's.
|
2018-01-21 11:14:20 +01:00 |
|
Jesper Gravgaard
|
2d8cf433f6
|
Sorting synthesis by clobber when printing. Added an handling of synths with equal cycles & clobber but different ASM.
|
2018-01-21 09:39:37 +01:00 |
|
jespergravgaard
|
267d006752
|
Improved bigscroll by inlining screen lines in array assignments.
|
2018-01-19 00:59:51 +01:00 |
|
jespergravgaard
|
30690b6306
|
Removed a bunch of synth rules. Added a few fragments.
|
2018-01-19 00:10:09 +01:00 |
|
jespergravgaard
|
cdbc2e05cf
|
Removed one synth rule. Fixed flaw in others.
|
2018-01-18 23:51:42 +01:00 |
|
Jesper Gravgaard
|
eadf85a048
|
Improved fragment generation further. Rules need clean-up soon to improve efficiency.
|
2018-01-18 23:21:31 +01:00 |
|
jespergravgaard
|
c7b6989c6c
|
Removed verbosity
|
2018-01-16 16:58:11 +01:00 |
|
jespergravgaard
|
08f2e3a6b8
|
Added rasterbar test program
|
2018-01-15 22:16:25 +01:00 |
|
jespergravgaard
|
13bd9509d1
|
Fixed issue with loop depth - now calculated corrent when some functions have no loops.
|
2018-01-15 21:02:49 +01:00 |
|
jespergravgaard
|
4c22877f0e
|
Only logging synthesis issue when set to verbose
|
2018-01-07 12:41:13 +01:00 |
|
jespergravgaard
|
a6e75ffcb0
|
Implemented fragment tests - first for assignment to unsigned bytes.
|
2018-01-07 11:42:46 +01:00 |
|
jespergravgaard
|
a047fedebf
|
Moved KC test files into separate folder
|
2018-01-06 16:36:54 +01:00 |
|
jespergravgaard
|
2603740d15
|
Moved KC test files into separate folder
|
2018-01-06 16:36:39 +01:00 |
|
jespergravgaard
|
40153fc6d6
|
Working on optimal synthesis
|
2018-01-06 14:01:40 +01:00 |
|
jespergravgaard
|
30d77c1450
|
Working on optimizing synthesis
|
2018-01-05 22:29:21 +01:00 |
|
jespergravgaard
|
b55485db50
|
Implemented sub-fragment clobber avoidance. Improved best template updating. Now the graph-based fragment synthesis system works. Still need to clean-up the synthesis rules.
|
2018-01-03 08:15:17 +01:00 |
|
jespergravgaard
|
e9965580a4
|
Iplemented graph based synthesis. Working on the kinks - eg. issue #75
|
2018-01-03 01:00:55 +01:00 |
|
jespergravgaard
|
b29ed11a81
|
Renamed fragment system classes in prepararion of graph based solution.
|
2018-01-02 17:09:42 +01:00 |
|
jespergravgaard
|
3595db56db
|
Renamed fragment system classes in prepararion of graph based solution.
|
2018-01-02 14:13:08 +01:00 |
|
jespergravgaard
|
2084be92e0
|
Implemented the rest of the comparison test. Fixed a double jump problem.
|
2018-01-02 10:17:59 +01:00 |
|
jespergravgaard
|
53d8afbb1d
|
Fixed an error in with comparison rewriting
|
2018-01-01 22:59:06 +01:00 |
|
jespergravgaard
|
4d46820cf4
|
Reformatted for code style.
|
2018-01-01 21:25:11 +01:00 |
|
jespergravgaard
|
20b9ab6881
|
Tried adding more memory for the Junit JVM
|
2018-01-01 15:59:15 +01:00 |
|
jespergravgaard
|
939b70aa23
|
Started implementing new style fragment synthesis rules. Yielding quite good initial optimizations.
|
2018-01-01 15:09:47 +01:00 |
|
jespergravgaard
|
269c1343ed
|
Implemented usage sorting and a file details logging option.
|
2017-12-31 00:15:23 +01:00 |
|
jespergravgaard
|
be37a45e36
|
Closes #9
|
2017-12-30 23:55:14 +01:00 |
|
jespergravgaard
|
14616458e5
|
Used usage module to identify & remove all unneeded fragments. Many unused ones moved into a new "unused" folder to be removed later.
|
2017-12-30 23:54:27 +01:00 |
|
jespergravgaard
|
aeba75906b
|
Removed all redundant fragment ASM files.
|
2017-12-30 22:17:42 +01:00 |
|
jespergravgaard
|
4f30cef2d3
|
Implemented asm template usage statistics. Now prefer synthesis over loading.
|
2017-12-30 21:59:23 +01:00 |
|
jespergravgaard
|
203af62173
|
Refactoring fragment synthesis to allow scoring of files & synthesis.
|
2017-12-30 19:22:44 +01:00 |
|
jespergravgaard
|
58c206cef4
|
Added more options to CompileLog for controlling verbosity.
|
2017-12-30 17:31:22 +01:00 |
|
jespergravgaard
|
174346d0f1
|
Improved Fragment Synthesis - trying all possible combinations. Closes #71
|
2017-12-30 17:24:30 +01:00 |
|
jespergravgaard
|
66fdfb08a9
|
Improved ZP detection
|
2017-12-30 14:18:57 +01:00 |
|
jespergravgaard
|
2367aa93cd
|
Added final score to the log
|
2017-12-30 13:45:59 +01:00 |
|
jespergravgaard
|
c7b137d631
|
Added working test for signed multiplication. Refactored AsmFragment synthesis away from relying on vwuc.
|
2017-12-30 11:55:28 +01:00 |
|
jespergravgaard
|
b95c7e20f5
|
Moved multiply into a library
|
2017-12-29 22:45:19 +01:00 |
|
jespergravgaard
|
df227e0b49
|
Implemented fast multiplication - tested that all results are correct.
|
2017-12-29 19:35:54 +01:00 |
|
jespergravgaard
|
fa00ecfbbf
|
Test data for alignment test
|
2017-12-29 18:20:44 +01:00 |
|
jespergravgaard
|
694fb66379
|
Added data alignment directive for arrays/strings.
|
2017-12-29 18:20:11 +01:00 |
|
jespergravgaard
|
39925809e3
|
Removed AsmFragment log again
|
2017-12-29 16:34:55 +01:00 |
|
jespergravgaard
|
b2a5e5184b
|
Removed AsmFragment log again
|
2017-12-29 16:19:23 +01:00 |
|
jespergravgaard
|
6b79ecc537
|
Implemented all fast multiply tables.
|
2017-12-29 16:05:27 +01:00 |
|
jespergravgaard
|
db6c1f54db
|
Improved log format slightly
|
2017-12-29 13:53:16 +01:00 |
|
jespergravgaard
|
5ec1070b41
|
Improved tests for CI
|
2017-12-29 11:40:03 +01:00 |
|
jespergravgaard
|
31e412bb11
|
Slimming log output
|
2017-12-29 11:21:11 +01:00 |
|
jespergravgaard
|
32d7db5ce7
|
Moved tests into Maven Test area to allow maven-based testing.
|
2017-12-28 15:34:32 +01:00 |
|
jespergravgaard
|
ff51d04356
|
Improved KC mul table gen.
|
2017-12-28 15:10:56 +01:00 |
|
jespergravgaard
|
d1ee716008
|
Improved KC mul table gen.
|
2017-12-28 14:46:31 +01:00 |
|
jespergravgaard
|
5e25684cf9
|
Slight improvement of code
|
2017-12-28 04:38:19 +01:00 |
|
jespergravgaard
|
6dcafb83c2
|
Optimized KC based multiply table generator.
|
2017-12-28 04:32:26 +01:00 |
|
jespergravgaard
|
8198b8f168
|
Generating fast multiply table in both ASM and KC - now word-based generation.
|
2017-12-28 04:13:31 +01:00 |
|
jespergravgaard
|
389b6042ed
|
Generating fast multiply table in both ASM and KC.
|
2017-12-28 03:32:59 +01:00 |
|
jespergravgaard
|
bb0aeb9e3b
|
Implementing fast multiplication KC program.
|
2017-12-28 01:50:55 +01:00 |
|
jespergravgaard
|
6532fdd002
|
Added array length mismatch error in Pass1.
|
2017-12-28 00:17:39 +01:00 |
|
jespergravgaard
|
19a040345f
|
Added array zero initializer and ASM .fill for arrays declared with a size but without initializer.
|
2017-12-27 23:53:51 +01:00 |
|