Irmen de Jong
|
ab8d924569
|
fix builtins rejecting a cx16 virtual register as their result register
cherry-picked from master e74c34a5
|
2026-10-01 03:41:29 +02:00 |
|
Irmen de Jong
|
af06fdfffc
|
fix more 6502-only struct pointer-field bugs; add indexed in-place support
fixes #237
|
2026-09-10 19:20:02 +02:00 |
|
Irmen de Jong
|
e811ecdbde
|
fix 6502 struct pointer-field array indexing
|
2026-09-09 23:47:09 +02:00 |
|
Irmen de Jong
|
c8f309307f
|
fix inlining bug: subroutines with register-mapped parameters cannot be inlined
|
2026-09-02 19:10:21 +02:00 |
|
Irmen de Jong
|
b702ea50da
|
no longer mangle inline asm that uses pipe operator (in other spots that is used as an instruction separator...)
|
2026-09-02 02:02:53 +02:00 |
|
Irmen de Jong
|
36b12e9897
|
fix uword double increment/decrement bug
|
2026-08-16 07:26:21 +02:00 |
|
Irmen de Jong
|
5130a74754
|
removed expericodegen
|
2026-07-02 01:07:21 +02:00 |
|
Irmen de Jong
|
58363ff4e4
|
Add required support for inlined asmsub routines in IR and new codegen
|
2026-06-30 03:17:19 +02:00 |
|
Irmen de Jong
|
55ea599fca
|
Remove hardcoded external KERNAL entry points in codegen
|
2026-06-29 04:43:24 +02:00 |
|
Irmen de Jong
|
69261c51b3
|
IR: Add single-bit manipulation opcodes (BITTST, BITSET, BITCLR, BITTOG)
|
2026-06-16 21:52:31 +02:00 |
|
Irmen de Jong
|
88a3e5b23f
|
Merge branch 'v12.2.1'
# Conflicts:
# compiler/test/TestCompilerOnExamples.kt
# compiler/test/codegeneration/TestArrayThings.kt
# examples/test.p8
|
2026-06-16 00:48:35 +02:00 |
|
Irmen de Jong
|
282c3aa00b
|
fix a return split word array codegen issue where it didn't use lsb suffix
|
2026-06-16 00:39:51 +02:00 |
|
Irmen de Jong
|
f9b3514f2a
|
fixes and tests for embedded arrays in structs
|
2026-06-14 16:18:23 +02:00 |
|
Irmen de Jong
|
be12fb507e
|
arrays in structs
|
2026-06-14 15:35:30 +02:00 |
|
Irmen de Jong
|
98355d3850
|
avoid shouldContain asserts on large strings in tests to avoid massive log dumps
|
2026-06-12 02:48:41 +02:00 |
|
Irmen de Jong
|
8bf744cc4a
|
fix some bitwise expression optimization bugs
|
2026-05-31 07:35:32 +02:00 |
|
Irmen de Jong
|
f1f5f070cf
|
fix invalid asm for some in-place long operations on zp vars
|
2026-05-31 05:14:33 +02:00 |
|
Irmen de Jong
|
cafb2e355b
|
implement long loop counter support
|
2026-05-30 23:36:08 +02:00 |
|
Irmen de Jong
|
8e43fc426c
|
IR: handle extsub with banked addresses properly
|
2026-05-28 03:25:04 +02:00 |
|
Irmen de Jong
|
4f36a6958c
|
fix a few if-expression typecast issues
|
2026-05-28 00:55:15 +02:00 |
|
Irmen de Jong
|
d3fe041e01
|
update kotlin and ksim65
|
2026-05-16 15:33:03 +02:00 |
|
Irmen de Jong
|
f32bac5004
|
implement 6502 long division routine
|
2026-05-16 15:04:09 +02:00 |
|
Irmen de Jong
|
7c44835772
|
const folding is always done even when -noopt is used
|
2026-05-15 12:22:52 +02:00 |
|
Irmen de Jong
|
5560c342db
|
Merge branch 'optimizing_ifs'
|
2026-05-02 18:47:04 +02:00 |
|
Irmen de Jong
|
9d1fa856d4
|
added unit tests that use the ksim65 simulator to actually run the compiled code
|
2026-05-02 06:15:09 +02:00 |
|
Irmen de Jong
|
e72a4723f9
|
Merge branch 'master' into optimizing_ifs
|
2026-05-02 02:17:23 +02:00 |
|
Irmen de Jong
|
96f0d112d2
|
fix problem where no efficient code was generated anymore for pointer+index
|
2026-05-02 02:14:18 +02:00 |
|
Irmen de Jong
|
f98e7d6ad9
|
optimizing a=b+c; use 64tass local anonymous labels
|
2026-04-29 22:20:14 +02:00 |
|
Irmen de Jong
|
3965d77813
|
optimizing if-expressions too: optimized word and long comparisons more
|
2026-04-28 19:54:29 +02:00 |
|
Irmen de Jong
|
e0ed761661
|
optimizing if-expressions too: optimized word and long comparisons
|
2026-04-28 19:54:29 +02:00 |
|
Irmen de Jong
|
1c376aa9d1
|
fix some 6502 code gen regressions
|
2026-04-26 00:18:28 +02:00 |
|
Irmen de Jong
|
2bf5d1406d
|
make cx16/starszoom example fill the whole screen, and rotate
|
2026-04-22 19:52:11 +02:00 |
|
Irmen de Jong
|
8592a3a200
|
use VarDecl builder instead of constructor
|
2026-04-19 02:26:50 +02:00 |
|
Irmen de Jong
|
930697dad5
|
using builder to improve massive lists of constructor params
|
2026-04-19 01:39:50 +02:00 |
|
Irmen de Jong
|
5dcc11d67e
|
try to avoid crash when importing modules twice (via symlink for instance).
|
2026-04-18 18:06:41 +02:00 |
|
Irmen de Jong
|
03fa6422b3
|
fix codegen for split array access using some peek/poke patterns
|
2026-04-13 21:43:39 +02:00 |
|
Irmen de Jong
|
ad34633ca9
|
fix codegen for split array access using pointer + or - offset
|
2026-04-13 21:18:32 +02:00 |
|
Irmen de Jong
|
59d0f7d49c
|
2-dimensional array support
|
2026-04-10 04:22:38 +02:00 |
|
Irmen de Jong
|
4fb3df977e
|
fix correct evaluation of floats in multi-value returns
|
2026-04-07 05:41:27 +02:00 |
|
Irmen de Jong
|
9f742e1806
|
6502 codegen: handle floats as part of multi-value result
|
2026-04-07 04:50:23 +02:00 |
|
Irmen de Jong
|
aca6c22098
|
IR codegen: handle floats as part of multi-value result
|
2026-04-07 04:31:17 +02:00 |
|
Irmen de Jong
|
7666b72fea
|
implement missing codegen for returning multivalue result of a subroutine call
|
2026-03-28 23:38:52 +01:00 |
|
Irmen de Jong
|
bcd12a0fc7
|
improve handling of boolean literals in logical expressions with -noopt
|
2026-03-28 19:19:14 +01:00 |
|
Irmen de Jong
|
652da4c692
|
fix some (not all) problems with directly returning multivalue returncalls
|
2026-03-15 22:33:17 +01:00 |
|
Irmen de Jong
|
9736ac19d1
|
implementing multiple return values for builtin functions
|
2026-02-22 19:54:21 +01:00 |
|
Irmen de Jong
|
093be9f2dd
|
sys.push(), sys.pop() etc etc are now builtin functions again push() pop() to avoid storing value in temporary variables
this means that all of the syslib.p8 library files no longer contain all those stack related asmsubs
|
2026-02-21 02:11:34 +01:00 |
|
Irmen de Jong
|
88b48f58c9
|
fix string init error about string multiplication. fixes #209
|
2026-01-30 17:36:48 +01:00 |
|
Irmen de Jong
|
78d6d2d59a
|
breaking change: renamed R0R1_32 etc combined register parameters to just R0R1, R2R3, etc etc (_32 suffix is removed to make it more consistent with the other existing register names)
|
2026-01-07 21:56:16 +01:00 |
|
Irmen de Jong
|
71b66f506d
|
fix asmsub register order crash when using longs + something else
|
2025-12-28 01:08:10 +01:00 |
|
Irmen de Jong
|
e57d9f59a2
|
fix long 0 argument to asmsub with 32-bits combined virtual register to pass it in
|
2025-12-21 22:23:17 +01:00 |
|