Irmen de Jong
|
f5f5aef722
|
implement long comparisons < and >=
|
2025-10-06 22:30:17 +02:00 |
|
Irmen de Jong
|
d6e30d8468
|
fix signed word and long cmp()
|
2025-10-06 22:05:34 +02:00 |
|
Irmen de Jong
|
4ed92d71a7
|
remove "@split" tag
The default is to split word arrays. If you need your word array to not be split, use @nosplit on the array.
|
2025-10-05 17:06:21 +02:00 |
|
Irmen de Jong
|
e63921009c
|
added math.mul32(), verafx.muls now returns long
|
2025-10-04 21:54:53 +02:00 |
|
Irmen de Jong
|
8abdb837b2
|
fix long equality comparisons
|
2025-10-04 17:21:39 +02:00 |
|
Irmen de Jong
|
0e177cb531
|
added cbm.RDTIML and cbm.SETTIML wrappers
|
2025-10-04 02:00:24 +02:00 |
|
Irmen de Jong
|
a7d98e43b8
|
cmp(long, long)
|
2025-10-03 22:41:59 +02:00 |
|
Irmen de Jong
|
845ee2dd83
|
smaller code for several long operations
|
2025-10-03 21:25:13 +02:00 |
|
Irmen de Jong
|
f9b0bfe31b
|
implement rol() and ror() on longs (also rol2 and ror2 and abs)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
f303d15628
|
fix long equality checks
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
67f7ffa52d
|
multi value returns with longs
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
88c5d9783a
|
long params and return values
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
e7fc0360ad
|
long bitwise operator expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
cd1862dd9f
|
fix signed long shift right
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
045c4909a8
|
long equality comparisons
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
e0107bacbd
|
implement long << >> expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b3bd2a6a09
|
fixed a bunch of long type handling
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
ff1f58e022
|
implement simple + / - long expressions
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
b058f1c7c2
|
implement mklong(a,b,c,d) and mklong2(w1,w2)
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
3e07b6ca70
|
adding long arrays
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
d66dc664de
|
work on longs
|
2025-10-03 01:22:24 +02:00 |
|
Irmen de Jong
|
a611406020
|
IR: add compilerversion attribute to p8ir file
|
2025-09-30 22:07:04 +02:00 |
|
Irmen de Jong
|
2c7256a443
|
support assignment to indexed pointer targets
|
2025-09-27 14:52:04 +02:00 |
|
Irmen de Jong
|
97420b28e5
|
preparing to support assignment to indexed pointer targets
|
2025-09-27 11:03:55 +02:00 |
|
Irmen de Jong
|
4fe8b72d42
|
fix broken uword comparison and asm peephole optimization
|
2025-09-24 02:42:26 +02:00 |
|
Irmen de Jong
|
f3b060df51
|
no longer save Y register when loading value through ZP pointer LDA (zp),Y
|
2025-09-23 22:59:01 +02:00 |
|
Irmen de Jong
|
c4b9bdd33f
|
proper pointer array initializer size checking, nicer sprite movement in simplemultiplexer
|
2025-09-22 20:07:38 +02:00 |
|
Irmen de Jong
|
19f19f3880
|
doc and opening borders
|
2025-09-20 21:44:48 +02:00 |
|
Irmen de Jong
|
231b50dacb
|
optimize certain word multiplication with bit shifting if it's a power of 2
|
2025-09-18 20:57:26 +02:00 |
|
Irmen de Jong
|
a71895cbe8
|
optimize pointer.field += 1 into pointer.field INC/DEC
|
2025-09-18 19:27:36 +02:00 |
|
Irmen de Jong
|
efd73fd10d
|
implement some more in place pointer operators
|
2025-09-17 18:19:03 +02:00 |
|
Irmen de Jong
|
8b48a295b6
|
allow struct initializers to occur in array literals
|
2025-09-14 18:16:46 +02:00 |
|
Irmen de Jong
|
79419a98d0
|
add if-expression versions for the conditionals if_cc, if_cs, if_vc etc
|
2025-09-11 01:57:30 +02:00 |
|
Irmen de Jong
|
c6854e22a3
|
fix wrong operand order for in place pointer subtraction
|
2025-09-10 17:19:03 +02:00 |
|
Irmen de Jong
|
83acc2f285
|
fix pointer variable overwriting when used in expression
|
2025-09-10 16:40:45 +02:00 |
|
Irmen de Jong
|
82839a2d82
|
fix alias error and byte to word assignment error
|
2025-09-09 15:05:02 +02:00 |
|
Irmen de Jong
|
ced4c5944a
|
fix broken optimization for wordvar - value expressions
|
2025-09-09 08:05:51 +02:00 |
|
Irmen de Jong
|
0b9384b556
|
fix typecasted byte-to-word pointer assignment, some more asm optimizations
|
2025-09-09 05:56:55 +02:00 |
|
Irmen de Jong
|
8022c0772a
|
oops
|
2025-09-05 20:37:19 +02:00 |
|
Irmen de Jong
|
8ad2b4638b
|
fix and optimize nodes[i].field (it could clobber the actual temporary pointer value in a scratch register)
|
2025-09-05 20:02:37 +02:00 |
|
Irmen de Jong
|
beb28b061d
|
fix non-struct pointer deref code bug
fix gradle 9 compatibility issue (fixes #175)
|
2025-09-04 21:30:20 +02:00 |
|
Irmen de Jong
|
783b111059
|
pointer to uword casts should not be removed
optimized addUnsignedByteOrWordToAY a tiny bit (but needs more)
|
2025-09-03 23:09:11 +02:00 |
|
Irmen de Jong
|
fb286f8b54
|
optimize operatorDereference() to not always use a zp scratch pointer
|
2025-09-03 20:30:10 +02:00 |
|
Irmen de Jong
|
5999110e3f
|
avoid using temporary pointer to access struct fields if a simple Y indexed cpu instruction can be used
|
2025-09-03 18:37:56 +02:00 |
|
Irmen de Jong
|
28df08eea8
|
introduce P8ZP_SCRATCH_PTR temporary zp pointer to avoid clobbering W1,W2
|
2025-09-01 23:56:31 +02:00 |
|
Irmen de Jong
|
79505308ba
|
optimize indexed pointer code a bit more
|
2025-09-01 22:18:17 +02:00 |
|
Irmen de Jong
|
a7e9d8e14b
|
fix struct field offset calculations
|
2025-09-01 18:57:02 +02:00 |
|
Irmen de Jong
|
08f3abe5bf
|
prefer to put pointer variables into zeropage (add implicit @zp)
|
2025-08-31 17:06:14 +02:00 |
|
Irmen de Jong
|
a9142b9ce5
|
slightly optimize certain pointer indexing calculation, fix invalid deref optimization
|
2025-08-31 13:40:28 +02:00 |
|
Irmen de Jong
|
13e6f64d3b
|
implement missing struct pointer indexing codegen
|
2025-08-31 12:20:38 +02:00 |
|