Irmen de Jong
|
b465fc5aaf
|
fix bug in word array containment check (prog8_lib.containment_wordarray) that could hang the loop
|
2022-11-12 23:19:01 +01:00 |
|
Irmen de Jong
|
80ab552ad8
|
fix wrong code for signed word >= 0
|
2022-07-17 19:02:56 +02:00 |
|
Irmen de Jong
|
965340ff90
|
logical and/or/xor/not all replaced by bitwise &,|,^,~ (ast, codegens)
this also fixed some invalid outcomes of logical expressions!
|
2022-07-02 00:38:17 +02:00 |
|
Irmen de Jong
|
4b358abbb7
|
"not" operator removed from ast and codegen (it's been replaced with x==0 as equivalent)
|
2022-06-29 01:13:08 +02:00 |
|
Irmen de Jong
|
a735939d1e
|
removed confusing GPL software license reference and copyright header from library files. (because of exclusion in output files)
Reworded software license and exclusion clause somewhat again in attempt to make it even clearer.
|
2022-05-30 20:12:20 +02:00 |
|
Natt Akuma
|
49d37c016e
|
Optimize strcmp_mem
|
2022-02-04 22:07:03 +07:00 |
|
Natt Akuma
|
73dfb5f443
|
Optimize sign extension to AY
|
2022-02-04 00:59:44 +07:00 |
|
Irmen de Jong
|
c1a39c269e
|
optimized code for stack eval comparisons with zero
|
2022-01-09 03:19:49 +01:00 |
|
Irmen de Jong
|
de6ce4a46e
|
add "X in [1,2,3]" expression (efficient containment check)
|
2021-12-29 17:26:00 +01:00 |
|
Irmen de Jong
|
ca868ae19e
|
added cx16.vload() (like the VLOAD basic instruction)
|
2021-03-20 02:39:53 +01:00 |
|
Irmen de Jong
|
b5523c7077
|
don't optimize with inlining too aggressively (code bloat)
|
2021-03-16 00:33:15 +01:00 |
|
Irmen de Jong
|
852d85d010
|
improve uword '<' and '>' codegen
|
2021-03-16 00:03:51 +01:00 |
|
Irmen de Jong
|
02cb237623
|
added poke() and pokew() builtin functions
|
2021-02-13 23:16:50 +01:00 |
|
Irmen de Jong
|
cc0f19653e
|
added peek() and peekw() builtin functions
|
2021-02-13 22:38:39 +01:00 |
|
Irmen de Jong
|
ee7f9d457d
|
text editor configs
|
2021-01-07 01:56:31 +01:00 |
|
Irmen de Jong
|
3b7a92f1b4
|
adding strcopy()
|
2020-12-14 17:26:17 +01:00 |
|
Irmen de Jong
|
8b981f03bf
|
optimized reg_lesseq_w (word <= word) to avoid using extra zp word, by swapping operands
|
2020-12-01 02:09:48 +01:00 |
|
Irmen de Jong
|
d0d0910bf2
|
corrected greatereq_w (word >= word)
|
2020-12-01 01:57:12 +01:00 |
|
Irmen de Jong
|
b8bda867b6
|
optimized reg_lesseq_w (word <= word)
|
2020-11-30 02:26:00 +01:00 |
|
Irmen de Jong
|
05d3a2450c
|
optimized reg_less_w (word < word)
|
2020-11-30 01:53:44 +01:00 |
|
Irmen de Jong
|
238d8197f5
|
byte/word typecasts optimized even further to just use cpu registers (and fixed sign extending AY)
|
2020-11-26 01:33:45 +01:00 |
|
Irmen de Jong
|
936b046ed9
|
optimize word [operator] byte, without translateExpression()
|
2020-11-24 23:41:10 +01:00 |
|
Irmen de Jong
|
5980e58ac6
|
word comparison jumps now without translateExpression()
|
2020-11-22 01:15:05 +01:00 |
|
Irmen de Jong
|
8be234973c
|
rollback failed optimization of memory expressions (code size got too large)
|
2020-11-21 19:09:02 +01:00 |
|
Irmen de Jong
|
72509eef44
|
inplace modification for memory now without translateExpression()
|
2020-11-18 23:23:06 +01:00 |
|
Irmen de Jong
|
59ae3c3fcd
|
<< and >> for byte values slightly optimized, no longer use translateExpression(). preparing for more operator optimizations.
|
2020-11-18 01:27:02 +01:00 |
|
Irmen de Jong
|
7fa21fbdff
|
@(...) in an expression is now more efficient, without translateExpression()
|
2020-11-18 00:58:04 +01:00 |
|
Irmen de Jong
|
94bc9d7a69
|
string compare in expression no longer via stack args
|
2020-11-10 21:48:28 +01:00 |
|
Irmen de Jong
|
d0bd2f522c
|
rol and ror
|
2020-11-07 00:56:54 +01:00 |
|
Irmen de Jong
|
661c757236
|
fix string compare in expressions
|
2020-11-06 22:59:56 +01:00 |
|
Irmen de Jong
|
aaa20093ef
|
cleaning up and correcting cc for builtin functions
|
2020-11-06 00:56:26 +01:00 |
|
Irmen de Jong
|
800b5b2a43
|
cleaning up and correcting cc for builtin functions
|
2020-11-05 02:29:33 +01:00 |
|
Irmen de Jong
|
9d17421c66
|
implemented the arithmetic functions with new cc. fixed sgn().
|
2020-11-04 02:27:29 +01:00 |
|
Irmen de Jong
|
288d4f08b3
|
implemented cc for integer sin and cos variants
|
2020-11-03 22:42:59 +01:00 |
|
Irmen de Jong
|
e0c5ccc16b
|
begun with converting builtin functions to new call convention
|
2020-11-02 23:00:20 +01:00 |
|
Irmen de Jong
|
431f2a2088
|
optimized memset and memcopy on CX16, memcopy can deal with any size now
|
2020-11-01 08:00:32 +01:00 |
|
Irmen de Jong
|
95c0425151
|
improved sqrt16
|
2020-11-01 05:45:49 +01:00 |
|
Irmen de Jong
|
3efa8da8e0
|
made versions of various builtin funcs returning value in registers
|
2020-10-30 14:35:20 +01:00 |
|
Irmen de Jong
|
3e28ed4fe4
|
mader versions of abs() and sgn() returning value in register
|
2020-10-28 22:56:13 +01:00 |
|
Irmen de Jong
|
1a36302cf1
|
rest of optimizations following simplification of array indexer
|
2020-10-19 23:57:00 +02:00 |
|
Irmen de Jong
|
aec3b82476
|
fixed bitshifting by more than the number of bits in the value
|
2020-10-19 02:05:01 +02:00 |
|
Irmen de Jong
|
e83796b5b9
|
fixed bit shifting by 0. optimized bitshifting code.
|
2020-10-18 17:12:52 +02:00 |
|
Irmen de Jong
|
7cb4100419
|
string can be compared directly (uses strcmp() automatically in asm)
|
2020-10-17 02:01:00 +02:00 |
|
Irmen de Jong
|
2d3b7eb878
|
started making string compares use strcmp() automatically
|
2020-10-17 01:11:01 +02:00 |
|
Irmen de Jong
|
4d01a78731
|
introduced strcmp() builtin function
|
2020-10-16 19:00:06 +02:00 |
|
Irmen de Jong
|
a03e36828a
|
fixed lines in assembly source optimizer
|
2020-10-16 01:48:03 +02:00 |
|
Irmen de Jong
|
216f48b7c1
|
txtelite
|
2020-10-10 22:45:03 +02:00 |
|
Irmen de Jong
|
ec8cfe1591
|
make string-assignment actually work (using strcpy)
|
2020-10-04 18:18:58 +02:00 |
|