339 Commits

Author SHA1 Message Date
bjorn3
1ac2f13d76 Use simd_fsqrt where possible 2019-12-18 17:41:21 +01:00
bjorn3
dd65ed38db Require prefix of instruction line to be the expected instruction
`rsqrtps %xmm0,%xmm1` used to match `sqrtps` without leading `r`.
2019-12-18 17:41:21 +01:00
Makoto Kato
f5783f5193 Run-time feature detection for Aarch64 on Windows. 2019-12-11 12:24:03 +01:00
Makoto Kato
51c3295de1 Fix unused import: mem::transmute
When building on aarch64, the following warning occurs.

```
warning: unused import: `mem::transmute`
 --> crates/core_arch/src/arm/neon.rs:3:38
  |
3 | use crate::{core_arch::simd_llvm::*, mem::transmute};
  |                                      ^^^^^^^^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default
```
2019-12-06 12:17:56 +01:00
Makoto Kato
cca9a86637 Add CRC32 detection to arm32
armv8 has 32-bit mode, but it can use crc32 instruction sets even if 32-bit.
2019-12-02 19:23:05 +01:00
ecstatic-morse
7c56404f1a Add #[rustc_args_required_const] to simd_shuffle
Currently, these have to be special-cased in the promotion logic for rustc.
2019-10-30 10:29:15 +01:00
Taiki Endo
5c1430079b Format with rustfmt 2019-10-26 18:46:57 +02:00
Taiki Endo
8f07ba7489 Update proc-macro2, syn, and quote to 1.0 2019-10-26 18:46:57 +02:00
Mateusz Mikuła
ed27e2fccd Replace rustfmt::skip custom inner attribute with rustfmt.toml 2019-10-26 18:46:22 +02:00
Alex Crichton
036b6348d9 Remove need for #[macro_use] with cfg-if
Modernizes usage of `cfg_if!` slightly
2019-10-10 12:43:27 +02:00
Taiki Endo
cd7aa7720a Remove azure pipelines badges 2019-10-10 12:42:41 +02:00
Taiki Endo
204c648633 Remove const_str_as_bytes feature gate 2019-10-10 12:41:08 +02:00
gnzlbg
128aa330ea Feature::from_str is not always needed 2019-09-18 12:09:07 +02:00
gnzlbg
579e4cc655 std_detect_env_override should be disabled by default 2019-09-18 12:09:07 +02:00
gnzlbg
88fe414dd3 These items do not need to be public 2019-09-18 12:09:07 +02:00
Luca Barbato
5bec3383c9 Drop the features test for now 2019-09-18 09:03:42 +02:00
Luca Barbato
a4dddb4b2f Unbreak non-x86 2019-09-18 09:03:42 +02:00
Luca Barbato
e0d42221ff Implement a fallback for the No-op Feature 2019-09-17 20:59:31 +02:00
Luca Barbato
8cad95c8ab Move the tests away from the code 2019-09-17 19:22:18 +02:00
Luca Barbato
efd19f4a13 Add a test for the env_override 2019-09-17 19:22:18 +02:00
Luca Barbato
b70d574394 Make the test function smaller 2019-09-17 19:22:18 +02:00
Luca Barbato
ee35b1848e Simplify the std imports 2019-09-17 19:22:18 +02:00
Luca Barbato
33688eaa10 Remove the FIXME about the cache size checks
And leave a NOTE.
2019-09-17 19:22:18 +02:00
Luca Barbato
6420fa4fb0 Override the features detected using an env::var
Fixes: #804
2019-09-17 19:22:18 +02:00
Luca Barbato
1855195f40 Add a mean to unset a bit in the cache 2019-09-17 15:36:02 +02:00
gnzlbg
13fffd5fde Try harder to error on usage of unstable features 2019-09-17 02:43:48 +02:00
gnzlbg
42b7041e94 Remove staged_api from the allowed_internal_unstabled of the feature macros 2019-09-17 01:35:26 +02:00
gnzlbg
4821a68959 Fix std_detect on targets without feature detection 2019-09-16 23:43:01 +02:00
gnzlbg
226b3265c8 Format 2019-09-16 23:43:01 +02:00
gnzlbg
599bcf28ad Enforce staged_api on a per-feature basis 2019-09-16 23:43:01 +02:00
gnzlbg
1f44c1407d Add std_detect::detect::features() -> impl Iterator<Item=(&'static str, bool)> API 2019-09-16 23:43:01 +02:00
Luca Barbato
f3140f4b25 Factor out check_for
All the os-specific code implements a `check_for` and a `detect_features`.

Move the always identical check_for in the mod.rs and use
`os::detect_features` there.
2019-09-09 22:20:10 +02:00
Luca Barbato
5b11935d43 Document how miri support works
Co-Authored-By: gnzlbg <gnzlbg@users.noreply.github.com>
2019-09-06 15:01:26 +02:00
Luca Barbato
430744f46a Minimal miri support
Should address https://github.com/rust-lang/miri/issues/932
2019-09-06 15:01:26 +02:00
bors
5bfd08cd65 Auto merge of #796 - Mark-Simulacrum:bootstrap-snap, r=gnzlbg
Apply snap of bootstrap compiler in rust-lang/rust

FWIW, in the future we should try to avoid this as I'm assuming we'll break CI trying to land this here (and we can't swap bootstrap compilers in Rust until this lands).
2019-08-19 16:31:38 +00:00
bors
c519f89682 Auto merge of #799 - gnzlbg:has_test, r=gnzlbg
Verify that all intrinsics have a run-time test

Add a check to stdsimd-verify to check that all intrinsics have a run-time test. This is not the case right now, but we should at least not add intrinsics without tests.
2019-08-18 12:46:54 +00:00
atouchet
1422e0f95c Fix more links 2019-08-18 14:46:04 +02:00
gnzlbg
ed67655cc8 Verify that all intrinsics have a run-time test 2019-08-17 21:14:54 +02:00
gnzlbg
00e10f12ce Update badges 2019-08-13 18:04:22 +02:00
Mark Rousskov
c448527789 Apply snap of bootstrap compiler in rust-lang/rust 2019-08-12 19:36:23 -04:00
bjorn3
98122a49ce Make the _mm_movemask_epi8 test a non palindrome 2019-08-02 16:31:38 +02:00
bjorn3
7bdc18925d Remove simd_rem intrinsic definition
It is unused
2019-08-02 16:31:24 +02:00
gnzlbg
713a7f11e1 Update i586-unknown-linux-gnu codegen with LLVM9 bugfixes 2019-08-02 11:45:12 +02:00
gnzlbg
174fd52167 formatting 2019-08-02 11:45:12 +02:00
gnzlbg
eb8ddf2fd3 Update LLVM9 code generation on Windows 2019-08-02 11:45:12 +02:00
gnzlbg
95cacb4cb9 Update codegen of _mm256_set1_epi64x for x86 32-bit 2019-08-02 11:45:12 +02:00
gnzlbg
58bff6d32e White-list new codegen for _mm_broadcastq_epi64
Opened #791 .
2019-08-02 11:45:12 +02:00
gnzlbg
44ffb1860f LLVM9 started emitting more single precision floating-point intrinsics for double-precision operations 2019-08-02 11:45:12 +02:00
Nathan Wiebe Neufeldt
da1241df4a Fix doc punctuation in core_arch/src/mips/msa.rs 2019-07-25 00:50:43 +02:00
Nathan Wiebe Neufeldt
ced45f6eb3 Even more doc formatting core_arch/src/mips/msa.rs 2019-07-25 00:50:43 +02:00