Irmen de Jong
|
7de665d1e4
|
support for split wordarrays rol/ror and rol2/ror2
optimized rol and ror codegen
optimize/fix ror/ror2/rol/rol2 on word arrays
|
2024-01-15 03:22:37 +01:00 |
|
Irmen de Jong
|
e40ebd75a2
|
floats.parse_f uses kernal VAL if it's present
|
2023-11-30 23:50:50 +01:00 |
|
Irmen de Jong
|
c36afd872e
|
optimization in assignment to memory
|
2023-08-04 23:54:11 +02:00 |
|
Irmen de Jong
|
da57f76de3
|
fix augassign
|
2023-07-15 22:26:56 +02:00 |
|
Irmen de Jong
|
9e8c8973d8
|
remove eval stack references from asm code
|
2023-07-15 22:24:22 +02:00 |
|
Irmen de Jong
|
1f7180d9a8
|
math.multiply_words returns lower 16 bits of the result also in AY (to avoid repeating some load instructions)
|
2023-07-06 22:54:13 +02:00 |
|
Irmen de Jong
|
3613162d09
|
fix RPN string comparisons
|
2023-03-18 16:55:03 +01:00 |
|
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 |
|