85 Commits

Author SHA1 Message Date
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