bjorn3
8a6ff90a3a
Use __muloti4 instead of __rust_i128_mulo
...
Fixes #1126
2021-07-28 14:54:31 +02:00
bjorn3
641e13e021
Replace pointer_ty() with fx.pointer_type where possible
2021-07-26 19:21:45 +02:00
bjorn3
f7cfb9d6d5
Remove shl/shr special handling for 128bit ints
...
Cranelift now natively supports 128bit int shifting
2021-07-17 14:34:58 +02:00
bjorn3
1122f42e28
Support cross-compiling to Windows using MinGW
2021-03-05 21:32:49 +01:00
bjorn3
5e736293b3
Rustfmt
2021-03-05 11:21:44 +01:00
bjorn3
73d3a1c14a
Use dynamic dispatch for the inner Module
...
This improves compilation time and shrinks the linked backend from
13MB to 9.7MB on Linux.
2021-02-23 18:49:37 +01:00
bjorn3
b0f870edd6
Fix CI
2021-02-21 12:34:30 +01:00
bjorn3
9c980276d8
Directly use Cranelift instructions for 128bit int shifts
2021-02-21 12:09:13 +01:00
bjorn3
139a6d12de
Fix 128bit checked math intrinsic calls
2021-01-30 11:02:24 +01:00
bjorn3
4cc6b4f9bf
Fix many clippy warnings
2020-10-28 21:47:25 +01:00
bjorn3
0a5968dfd2
Use the new cranelift-module interface
...
This updates Cranelift to include bytecodealliance/wasmtime#2249
2020-10-08 19:00:21 +02:00
bjorn3
c8699076f9
Document almost all modules
...
Fixes #1082
2020-09-23 15:13:49 +02:00
CohenArthur
4e685a512e
fmt: Run cargo fmt since it is available
2020-08-28 12:10:48 +02:00
bjorn3
f288959c00
Limit publicness to crate where possible and remove unused imports
2020-03-27 12:14:45 +01:00
bjorn3
e9db3e7817
Avoid u/i*::{min.max}_value()
...
They will be deprecated in the future
2020-03-20 16:29:05 +01:00
bjorn3
6129921529
More 128bit support
...
* UnOp::Neg
* ctpop
* bitreverse
Also replaces `if let Some(64u128) = ...` with `if ... = Some(u64u128)`
to be able to compile cg_clif using cg_clif, as cranelift_frontend::Switch
doesn't support i128 yet.
2019-10-06 15:51:43 +02:00
bjorn3
58a9b648e8
Update cranelift, faerie and target-lexicon
2019-10-03 18:55:01 +02:00
bjorn3
ce0be229d7
Use upstream cranelift
2019-09-08 19:18:17 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
2a20cc0b94
Use anonymous lifetimes where possible
2019-08-18 16:52:07 +02:00
bjorn3
7c7a8e8367
Workaround for missing icmp{,_imm}.i128 legalizations
...
Fixes #667
2019-08-15 11:36:23 +02:00
bjorn3
b4e55cdedd
Refactor num.rs
2019-08-14 15:03:52 +02:00
bjorn3
db071db95a
Calculate sign in trans{,_checked}_int_binop instead of caller
2019-08-14 13:01:55 +02:00
bjorn3
581b6ea5be
Misc changes
2019-08-14 11:36:24 +02:00
bjorn3
63b82238bb
Implement 128bit checked add and sub
2019-07-26 11:30:39 +02:00
bjorn3
4d35be684d
Implement 128bit comparison binops
2019-07-26 11:29:35 +02:00
bjorn3
65e337cdf3
Implement 128bit multiply with overflow
2019-07-26 11:29:35 +02:00
bjorn3
88ad25f45e
Implement 128bit shl and shr binops
2019-07-26 11:29:35 +02:00
bjorn3
641a210ff6
Implement most 128bit binops
2019-07-26 11:29:35 +02:00