bjorn3
5407b51aa7
Rustup to rustc 1.40.0-nightly (9e346646e 2019-11-08)
2019-11-09 11:14:18 +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
0db605040e
Use CallConv::triple_default instead of hard coding SystemV
...
Fixes #718
2019-09-28 17:00:27 +02:00
bjorn3
44792f1089
Rustup to rustc 1.40.0-nightly (084beb83e 2019-09-27)
2019-09-28 14:06:12 +02:00
bjorn3
fdfb1eda2c
Rustup to rustc 1.39.0-nightly (97e58c0d3 2019-09-20)
2019-09-21 11:30:29 +02:00
Atul Bhosale
f481a4b685
Format code using 'cargo fmt'
2019-08-31 22:58:09 +05:30
bjorn3
d9d8c69af1
Split extract layout field of all CPlace variants into a sparate struct
2019-08-29 11:23:19 +02:00
bjorn3
3fcd54088c
Implement saturating_{add,sub} intrinsics
2019-08-20 10:40:08 +02:00
bjorn3
f99d31dbfe
Implement pow{f32,f64} intrinsics
2019-08-19 17:16:21 +02:00
bjorn3
ae428a2d70
Fix saturating_{add,sub} for 8bit and 16bit ints
2019-08-19 16:42:56 +02:00
bjorn3
edbb5730ea
Implement copysign{f32,f64} intrinsics
2019-08-19 16:27:09 +02:00
bjorn3
2a20cc0b94
Use anonymous lifetimes where possible
2019-08-18 16:52:07 +02:00
bjorn3
1bee110d95
Let codegen_get_discriminant accept CValue instead of CPlace
2019-08-18 16:19:33 +02:00
bjorn3
43e68319fa
Rustup to rustc 1.39.0-nightly (2111aed0a 2019-08-17)
2019-08-18 11:30:13 +02:00
bjorn3
2558bf2f6b
Workaround for missing #[rustc_args_required_const(..)]
support
...
cc #666
2019-08-16 16:04:50 +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
32cb5b8c8e
Move discriminant get and set to discriminant.rs
2019-08-14 12:01:41 +02:00
bjorn3
883894a07a
Move trans_*_binop to num.rs
2019-08-14 11:52:39 +02:00
bjorn3
70fbca287c
Fix intrinsic::transmute::<_, <uninhabited>>(...)
2019-08-13 19:39:59 +02:00
bjorn3
9fdef69fe4
Fix uninit intrinsic for zst values
2019-08-13 19:37:51 +02:00
bjorn3
f9c20ce244
Rustup to rustc 1.38.0-nightly (534b42394 2019-08-09)
2019-08-13 12:18:35 +02:00
bjorn3
36184d286c
Remove outdated FIXME and add some new FIXME
2019-08-13 11:46:59 +02:00
bjorn3
f93cd924ec
Implement float -> small int cast
...
Also workaround small signed int eq/ne binop clif bug
2019-08-12 17:25:16 +02:00
bjorn3
314141392a
Implement log2{f32,f64} intrinsics
2019-08-12 15:54:24 +02:00
bjorn3
dbac219207
Libtest support
2019-08-09 12:46:24 +02:00
bjorn3
e7a507863c
Implement real saturating behaviour for the saturating_* intrinsics with unsigned ints
2019-08-09 12:35:51 +02:00
bjorn3
bd7c119e4b
Rustup to rustc 1.38.0-nightly (6a91782b7 2019-08-06)
2019-08-07 12:35:49 +02:00
bjorn3
7602a46bb9
Implement simd_extract
2019-08-05 16:28:27 +02:00
bjorn3
62166ed9c8
Correctly implement atomic_nand_* intrinsics
...
Fixes #639
2019-08-01 10:59:17 +02:00
bjorn3
b806070a88
Fix simd_cast
2019-07-31 09:46:05 +02:00
bjorn3
69526d464f
Implement some float simd intrinsics
2019-07-30 14:37:20 +02:00
bjorn3
48a6b581b5
Emulate llvm.x86.sse2.pmovmskb.128 llvm intrinsic
2019-07-29 12:43:24 +02:00
bjorn3
9cb787fe70
Implement and test simd_shuffle*
2019-07-29 11:23:53 +02:00
bjorn3
76b89476c3
[WIP] simd_shuffle*
2019-07-29 11:03:55 +02:00
bjorn3
78e0525366
[WIP] simd_shuffle support
2019-07-29 11:03:55 +02:00
bjorn3
90f2b12d47
Fix simd comparison
2019-07-29 11:03:55 +02:00
bjorn3
9e3f2391b8
Emulate compare simd intrinsics
2019-07-29 11:03:55 +02:00
bjorn3
7fdd058c60
Emulate some simd intrinsics
2019-07-29 11:03:55 +02:00
bjorn3
436a24a85d
Implement many more float intrinsics
2019-07-27 16:52:00 +02:00
bjorn3
5180becc7c
Fix 128bit CValue::const_val
2019-07-26 11:30:39 +02:00
bjorn3
d8cae099d0
Fix it
2019-07-26 11:28:28 +02:00
bjorn3
45de0336a5
Fix some more stuff
2019-07-26 11:28:28 +02:00
bjorn3
596fdd5a64
Fix type in load_scalar
2019-07-26 11:28:04 +02:00
bjorn3
02eeaad10a
Rustup to rustc 1.38.0-nightly (71f9384e3 2019-07-12)
2019-07-13 11:07:07 +02:00
bjorn3
b82472184d
Rustup to rustc 1.38.0-nightly (dfd52ba6a 2019-07-06)
2019-07-07 11:59:11 +02:00
bjorn3
4e1d219f06
Implement some float intrinsics
2019-06-26 16:06:12 +02:00
bjorn3
db5ffdedf7
Implement bswap intrinsic
2019-06-23 17:32:32 +02:00
bjorn3
d425116bdc
Implement some intrinsics
2019-06-23 16:36:14 +02:00