Commit graph

220 commits

Author SHA1 Message Date
Folkert
ecf7066e6c
dev backend: provide a hardcoded implementation for equality on VOID 2023-10-10 14:28:43 +02:00
Folkert
beed1e3d6e
account for the tag id when doing a memcpy 2023-10-09 17:55:30 +02:00
Folkert
c0d67edfd3
cleanup 2023-10-09 15:40:28 +02:00
Folkert
b39c592bea
realize all list elements on the stack before writing to the list 2023-10-09 15:24:46 +02:00
Folkert
7c67f8aafb
some debugging logs 2023-10-09 15:24:45 +02:00
Folkert
1db7a8f2a5
simplify boolean not 2023-10-09 15:24:40 +02:00
Luke Boswell
99369dec85
implement roc_panic aarch64 2023-10-09 15:24:37 +02:00
Folkert
889e2f5026
remove overflow / adds / smulh logic
we do all overflow operations in zig
2023-09-17 18:03:36 +02:00
Folkert
dc179a1aa6
simplify moving with the scratch register we now have 2023-09-17 18:01:08 +02:00
Folkert
e0071e3265
do checked arithmetic using zig... 2023-09-17 15:48:15 +02:00
Folkert
c6593725df
improved implementation of checked arithmetic 2023-09-17 15:43:11 +02:00
Folkert
f22318e54e
move general to float 2023-09-16 18:03:59 +02:00
Folkert
8ceb705212
move big float from general to float register 2023-09-16 17:30:58 +02:00
Folkert
a8c8834a3c
actually understand this jmp address bug 2023-09-16 15:57:03 +02:00
Folkert
99873f948d
move jmp into the architecture-specific trait mods 2023-09-16 15:32:38 +02:00
Folkert
93d7054a00
refactor how we do jumps 2023-09-16 15:24:43 +02:00
Folkert
3e19f4a6fb
document how jumps are generated 2023-09-16 15:06:54 +02:00
Folkert
ae296a92b7
another simplification 2023-09-15 23:07:29 +02:00
Folkert
e33414938d
simplify many methods that operate on different register widths 2023-09-15 23:07:29 +02:00
Folkert
f9c53fc237
load/store from any float register 2023-09-15 23:07:28 +02:00
Folkert
027b8aff4d
add function calls and maybe fix function call relocations? 2023-09-15 23:06:06 +02:00
Folkert
8a9126b024
choose a different jump placeholder that fits in 27 bits 2023-09-15 23:06:05 +02:00
Folkert
124b533bc0
implement some missing checked operations in the dev backend 2023-09-15 16:08:05 +02:00
Folkert
edefbe5b6b
fix wrong alignment used to (re)allocate a list 2023-09-15 00:46:26 +02:00
Folkert
fddec0ca24
fix tag layout dev backend issue 2023-09-14 14:43:29 +02:00
Folkert
5e4f43e1d8
checkpoint 2023-09-14 14:43:24 +02:00
Folkert
3c8dbce72e
fix alignment bug in list literals 2023-09-14 14:39:15 +02:00
Folkert
44777c5cac
fix recursive tag memory layout 2023-09-14 14:39:15 +02:00
Folkert
5e2dbe3362
NumDivCeilUnchecked 2023-09-14 14:39:14 +02:00
Folkert
5557fb7e34
repl helper codegen 2023-09-14 14:39:12 +02:00
Folkert
45ce8e4da6
stack allocate with alignment 2023-09-14 14:38:32 +02:00
Folkert
1178b281b4
add for decimal 2023-09-14 14:38:32 +02:00
Folkert
134bcf8098
wrapped & saturated multiplication 2023-09-14 14:38:32 +02:00
Richard Feldman
85c0eaddcb
Merge pull request #5773 from roc-lang/remaining-dev-backend-lowlevels
Remaining dev backend lowlevels
2023-09-14 08:35:53 -04:00
Folkert
520bac2905
List.sortWith and friends 2023-09-14 11:46:52 +02:00
Folkert
315e9871c1
more cleanup 2023-09-14 11:46:52 +02:00
Folkert
15832bf07c
cleanup 2023-09-14 11:46:52 +02:00
Folkert
51067f0ae4
add List.map* 2023-09-14 11:46:49 +02:00
Folkert
3909443ef4
fix two bugs in the dev backend 2023-09-13 20:24:17 +02:00
Folkert
c75f46b369
clippy 2023-09-13 20:24:16 +02:00
Folkert
89472bf495
fix most dev backend tests 2023-09-13 20:24:16 +02:00
Luke Boswell
5cff9ac981
windows & zig returning of 128bit values 2023-08-05 16:44:58 +02:00
Folkert
da3635de8e
cleanup 2023-07-30 20:44:13 +02:00
Folkert
bb97b9ff74
cleanup 2023-07-30 20:44:10 +02:00
Folkert
f59eed6366
so close 2023-07-30 20:44:10 +02:00
Folkert
644def72f1
working happy path 2023-07-30 20:44:10 +02:00
Folkert
10aa4f58c9
WIP 2023-07-30 20:41:33 +02:00
Folkert
f96c78b3a5
setjmp/longjmp assembly gen 2023-07-30 20:39:53 +02:00
Folkert
cdd2aab217
add alloca as an expression 2023-07-30 18:46:00 +02:00
Ayaz Hafiz
7ea85e44d2
Add Layout::Erased 2023-07-12 14:43:24 -05:00