Commit graph

226 commits

Author SHA1 Message Date
Folkert
dd85f51745
actually expose Num.rem 2023-04-26 14:32:17 +02:00
Folkert
9bdf9e4b99
make mov between different-sized registers more robust 2023-04-26 14:28:40 +02:00
Folkert
17fde9dd9d
complete unbox_to_stack 2023-04-26 14:25:00 +02:00
Folkert
43624ade27
assembly for irem and urem 2023-04-26 14:16:24 +02:00
Folkert
74444d2883
128-bit mul and shift in dev backend 2023-04-26 14:10:17 +02:00
Folkert
e8532c2f3c
rename some temporary symbol usages 2023-04-26 14:09:10 +02:00
Folkert
d56d3311d4
implement and test all regn_regn moves 2023-04-24 21:39:15 +02:00
Folkert
2e41ef68b0
cleanup 2023-04-23 20:23:35 +02:00
Folkert
b663db56f0
NumIntCast 2023-04-23 19:58:46 +02:00
Folkert
af2ab24525
simplify and fully implement comparisons 2023-04-23 19:58:31 +02:00
Folkert
cefc1c775e
add NumAddWrap 2023-04-23 18:47:50 +02:00
Folkert
8162de7eab
implement code_gen_help equality in the dev backend 2023-04-23 18:47:40 +02:00
Folkert
d99a912230
don't attempt tail recursion in dev backend 2023-04-23 18:47:17 +02:00
Folkert
dd3d0a188e
string is empty for dev backend 2023-04-23 18:16:08 +02:00
Folkert
f45e4ed858
implement Num.toStr for the dev backend 2023-04-23 18:04:34 +02:00
Folkert
f7e3254a35
unwrap lamda set to runtime representation 2023-04-23 17:56:23 +02:00
Folkert
9e2051670f
implement unboxing to the stack 2023-04-23 17:56:02 +02:00
Folkert
b59ada4bc8
implement List.map in the dev backend 2023-04-23 17:35:17 +02:00
Folkert
b62ee37d8e
fix BOOL_TRUE and BOOL_FALSE 2023-04-23 17:31:52 +02:00
Folkert
be31bc5c41
add the PtrWrite lowlevel 2023-04-23 15:19:46 +02:00
Folkert
c22f33ec8a
add support for getting a function pointer from a function symbol 2023-04-23 15:17:49 +02:00
Folkert
5a297248e2
add support for the LEA instruction 2023-04-23 15:16:06 +02:00
Folkert
4cd8f0a056 clippy --fix fixes 2023-04-21 12:05:51 +02:00
Brendan Hansknecht
26846e14aa
Merge pull request #5289 from Aurelius333/aarch64-float
Add some aarch64 gen_dev float instructions
2023-04-20 18:18:56 +00:00
Ajai Nelson
e6de71ccfb
Use cast instead of .try_into().unwrap() 2023-04-20 01:05:38 -04:00
Ajai Nelson
3dbec4760b
Fix clippy warnings 2023-04-19 19:03:25 -04:00
Ajai Nelson
f3d85bce3c
Fix badly indented comments 2023-04-19 18:53:48 -04:00
Ajai Nelson
4d7a85070e
Use existing FloatWidth enum instead of FloatType 2023-04-19 18:53:48 -04:00
Ajai Nelson
69dad4c3bf
Add doc comments 2023-04-19 18:53:48 -04:00
Ajai Nelson
dbf85e5461
Add comments about floating point instructions at bottom 2023-04-19 18:53:48 -04:00
Ajai Nelson
d8f1310ce1
Add aarch64 to_float conversions 2023-04-19 18:53:47 -04:00
Ajai Nelson
61148d1eca
Inline encode functions 2023-04-19 18:53:47 -04:00
Ajai Nelson
ec14c9a9f1
Add immediate operation for setting floats to 0.0 2023-04-19 18:53:47 -04:00
Ajai Nelson
616b45f366
Add aarch64 fmov immediate 2023-04-19 18:53:47 -04:00
Ajai Nelson
d3962592cb
Add aarch64 mov_freg64_freg64 2023-04-19 18:53:46 -04:00
Ajai Nelson
2501260eb7
Add some aarch64 gen_dev float instructions 2023-04-19 18:53:46 -04:00
J.Teeuwissen
9d4c3bcfb9
undid inlining 2023-04-15 17:41:10 +02:00
J.Teeuwissen
5f7f9b766b
inline lowlevel in rc 2023-04-13 12:26:05 +02:00
J.Teeuwissen
a3cea59bb6
Merge remote-tracking branch 'origin/main' into Frame-Limited 2023-04-12 09:08:40 +02:00
Brendan Hansknecht
a282995fa8
Merge pull request #5114 from Aurelius333/more-dev-aarch64-instructions
Add more gen_dev aarch64 instructions
2023-04-09 21:23:04 +00:00
Ajai Nelson
be3cf0abd3
Add comments in aarch64 branch functions 2023-04-09 14:33:43 -04:00
Ajai Nelson
c71d7bb648
Simplify aarch64 mov_reg64_reg64 by delegating to orr_reg64_reg64_reg64 2023-04-09 14:11:59 -04:00
Ajai Nelson
ca0ef8f88f
Add structs to make new method parameters more readable in aarch64 2023-04-09 14:07:25 -04:00
Ajai Nelson
260c080d41
Fix clippy warnings 2023-04-09 13:02:27 -04:00
Ajai Nelson
5f831b6f50
Add aarch64 signed_compare_reg64 and unsigned_compare_reg64 2023-04-09 13:02:19 -04:00
Ajai Nelson
f9e31b828b
Merge branch 'main' into more-dev-aarch64-instructions
Fix merge conflict with fdffcc8b36:
- Add unused _register_width arguments
- Delete comparison functions,
  add empty signed_compare_reg64 and unsigned_compare_reg64 functions
2023-04-09 13:01:51 -04:00
Folkert
d4bb5053b8
make function names unique by adding layout hash 2023-04-09 18:18:39 +02:00
Folkert
9f8fb61281
fix assert 2023-04-09 16:49:19 +02:00
Folkert
cd95920d60
implement passing of non-recursive tag unions to functions 2023-04-09 15:15:56 +02:00
Folkert
679337e4c4
fix alignment issue in union creation 2023-04-09 15:13:24 +02:00