50 Commits

Author SHA1 Message Date
bjorn3
95511cb3ee Add unaligned_volatile_{load,store} intrinsics 2020-07-23 12:37:27 +02:00
bjorn3
6345e4a1bc Implement variant_count intrinisic 2020-07-03 16:52:56 +02:00
bjorn3
699da394cc Validate simd and atomic intrinsic types 2020-07-03 16:52:37 +02:00
bjorn3
a299d0e632 Don't panic on unevaluatable promoted constants 2020-07-01 14:15:23 +02:00
bjorn3
eb89a2c092 Implement float_to_int_unchecked intrinsic 2020-06-30 19:02:00 +02:00
bjorn3
c674a32ab8 Implement f*_fast intrinsics 2020-06-30 19:01:17 +02:00
bjorn3
f5f24c7a5c Implement a few volatile intrinsics 2020-06-30 19:00:52 +02:00
bjorn3
aa6a4acd78 Fix ptr_offset_from intrinsic 2020-06-30 18:53:47 +02:00
bjorn3
48d4bc2fb6 Rustup to rustc 1.46.0-nightly (7750c3d46 2020-06-26) 2020-06-27 11:29:39 +02:00
bjorn3
eb8fd197ab Prelude cleanup 2020-06-20 18:44:49 +02:00
bjorn3
ef4186a85b Use Cranelift legalization for icmp.i128
The previous translation was wrong for signed 128bit comparisions

This fixes several libcore tests
2020-06-20 13:23:31 +02:00
bjorn3
bcd357a0ae Rustup to rustc 1.45.0-nightly (46e85b432 2020-05-24) 2020-05-25 12:41:33 +02:00
bjorn3
cd684e39e0 Fix saturated_* intrinsics for 128bit ints
Fixes #968
2020-04-17 14:14:24 +02:00
bjorn3
40cdcf0e5e Remove one usage of force_stack 2020-04-13 14:53:25 +02:00
bjorn3
dfb5d16fb3 Use bitcast to transmute where possible 2020-04-11 14:56:00 +02:00
bjorn3
291c75d10b Enable the rust_2018_idioms and unused_lifetimes lints and fix all warnings
They are set to deny by default in the rust-lang/rust repo
2020-04-09 12:12:55 +02:00
bjorn3
ac1c5d6954 Rustup to rustc 1.44.0-nightly (537ccdf3a 2020-04-02) 2020-04-03 11:54:18 +02:00
bjorn3
786c7d8d8c Rustup to rustc 1.44.0-nightly (76b11980a 2020-04-01) 2020-04-02 14:27:51 +02:00
bjorn3
017a9b7641 Rustup to rustc 1.44.0-nightly (699f83f52 2020-03-29) 2020-03-30 19:00:24 +02:00
bjorn3
33fd4c47aa Use 16bit simd indices 2020-03-27 16:42:28 +01:00
bjorn3
d2c5b4be68 Use vector icmp in simd_cmp! when possible 2020-03-27 16:41:05 +01:00
bjorn3
3f33fcbd30 Avoid using select in bool_to_zero_or_max_uint
It legalizes to a branch
2020-03-27 16:04:34 +01:00
bjorn3
f288959c00 Limit publicness to crate where possible and remove unused imports 2020-03-27 12:14:45 +01:00
bjorn3
6b30d508f7 Fix some FIXME's and add some new FIXME's 2020-03-21 16:52:02 +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
d464169beb Rustup to rustc 1.44.0-nightly (7ceebd98c 2020-03-17) 2020-03-18 20:12:19 +01:00
bjorn3
992fae08c4 Simplify handling of unimplemented stuff 2020-03-17 16:26:56 +01:00
bjorn3
c7b2ffaebd Fix intrinsic name 2020-03-17 15:12:15 +01:00
bjorn3
d07c404bf4 Rename try intrinsic argument to match upstream 2020-03-17 14:53:32 +01:00
bjorn3
ebf13f1cce Rustup to rustc 1.43.0-nightly (dd6718796 2020-03-16) 2020-03-17 14:52:06 +01:00
bjorn3
1c02e6c368 Rustup to rustc 1.43.0-nightly (c20d7eecb 2020-03-11) 2020-03-12 21:04:00 +01:00
bjorn3
cc30c20293 Silence some warnings 2020-02-22 15:18:03 +01:00
bjorn3
c1bf153049 Rustup to rustc 1.43.0-nightly (8aa9d2014 2020-02-21) 2020-02-22 14:20:37 +01:00
bjorn3
430f738392 Update Cranelift for basic blocks 2020-02-14 18:23:29 +01:00
bjorn3
74c7a7b7c5 Replace unimplemented! with unreachable! when it will never be supported 2020-01-25 16:24:48 +01:00
bjorn3
ddd3d95a7e Make atomic instructions atomic using a global lock 2020-01-22 20:09:55 +01:00
bjorn3
217beab62a Reduce the amount of calls to layout_of 2020-01-15 13:18:54 +01:00
bjorn3
09b44f5d25 Reduce visibility 2020-01-14 17:11:06 +01:00
bjorn3
a3b8619c1e Revert "Use simd instructions for int and float simd intrinsics"
This reverts commit 5e984a32d9b8a381d0b7f192f4a915aac59f18db.

It was causing issues with vectors bigger than 128bit
2020-01-04 18:27:00 +01:00
bjorn3
c9034e54e5 Add two FIXME's 2020-01-04 12:40:56 +01:00
bjorn3
7564a043d0 Fix some warnings 2019-12-31 15:53:18 +01:00
bjorn3
30a760dda2 Make it possible it use value_field for SIMD values stored ByVal 2019-12-25 14:38:51 +01:00
bjorn3
0ebc14cc40 Remove unused macro args 2019-12-25 14:38:51 +01:00
bjorn3
9eb9436481 Fix indentation 2019-12-25 14:38:51 +01:00
bjorn3
5e984a32d9 Use simd instructions for int and float simd intrinsics 2019-12-25 14:38:51 +01:00
bjorn3
73fd311291 [WIP] Real simd support 2019-12-25 14:38:37 +01:00
bjorn3
ca93bcba5d Improve lane_type_and_count 2019-12-25 14:34:59 +01:00
bjorn3
399cada762 Directly depend on cranelift_{codegen,frontend}
Fixes #838
2019-12-24 12:43:20 +01:00
bjorn3
d89f307ea2 Move simd intrinsics to intrinsics/simd.rs 2019-12-23 13:58:17 +01:00
bjorn3
67a0fdad19 Make llvm_intrinsics a submodule of intrinsics 2019-12-23 13:57:55 +01:00