208 Commits

Author SHA1 Message Date
Tyg13
9ab5dc0873
Remove unnecessary parens. (#839) 2020-01-30 13:15:36 +01:00
Luca Barbato
1601ce4f2f Add Icelake avx512 features (#838)
* Add Icelake avx512 features

As documented in https://software.intel.com/sites/default/files/managed/c5/15//architecture-instruction-set-extensions-programming-reference.pdf

* Sort the avx512 feature checks by bit

* Unbreak macos

Force nightly.
2020-01-26 13:10:29 -06:00
Yuki Okushi
c8c587d0cd Use issue = "none" instead of "0" 2019-12-27 11:25:13 +01:00
Oliver Scherer
43d49b6247 Update simd_llvm.rs 2019-12-20 23:31:51 +01:00
Oliver Scherer
5548609204 Add const unstability attributes
These are needed for rustc to be able to correctly handle stability of constness of intrinsics. Without either `rustc_const_unstable` or `rustc_const_stable` an intrinsic is not const evaluable at all.
2019-12-20 23:31:51 +01:00
bjorn3
c8249c76c4 Revert mmx changes
On i586 the simd_* intrinsics don't compile to MMX instructions, even
with `#[target_feature(enable = "mmx")]`.
2019-12-18 17:41:21 +01:00
bjorn3
ea51d868ec Rustfmt 2019-12-18 17:41:21 +01:00
bjorn3
0aa5e29724 Revert _mm_{min,max}_ps changes and add explanation why 2019-12-18 17:41:21 +01:00
bjorn3
2112972a64 Use <i64>::swap_bytes instead of llvm.bswap.i64 2019-12-18 17:41:21 +01:00
bjorn3
61693f3b53 Remove some unused llvm intrinsic declarations 2019-12-18 17:41:21 +01:00
bjorn3
c7e16bcebe Use <i32>::swap_bytes instead of llvm.bswap.i32 2019-12-18 17:41:21 +01:00
bjorn3
35fc3c36e3 Use simd_* in x86/avx2.rs where possible 2019-12-18 17:41:21 +01:00
bjorn3
fb84f79ce7 Use simd_* in x86/avx.rs where possible 2019-12-18 17:41:21 +01:00
bjorn3
c5572ec1f6 Use simd_* in x86/sse41.rs where possible 2019-12-18 17:41:21 +01:00
bjorn3
4da22d5120 Use simd_saturating_* in x86/sse2.rs where possible 2019-12-18 17:41:21 +01:00
bjorn3
039944d366 Use simd_fmin and simd_fmax for _mm_min_ps and _mm_max_ps 2019-12-18 17:41:21 +01:00
bjorn3
4de364cfb4 Use simd_* in x86/mmx.rs where possible 2019-12-18 17:41:21 +01:00
bjorn3
1c38869538 Add missing simd platform intrinsics 2019-12-18 17:41:21 +01:00
bjorn3
a4cd918dff Use simd_fma where possible 2019-12-18 17:41:21 +01:00
bjorn3
8c643df017 Use simd_floor and simd_ceil where possible 2019-12-18 17:41:21 +01:00
bjorn3
1ac2f13d76 Use simd_fsqrt where possible 2019-12-18 17:41:21 +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
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
Mateusz Mikuła
ed27e2fccd Replace rustfmt::skip custom inner attribute with rustfmt.toml 2019-10-26 18:46:22 +02:00
Taiki Endo
cd7aa7720a Remove azure pipelines badges 2019-10-10 12:42:41 +02:00
gnzlbg
226b3265c8 Format 2019-09-16 23:43:01 +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
Nathan Wiebe Neufeldt
7ac384096b More doc formatting in core_arch/src/mips/msa.rs 2019-07-25 00:50:43 +02:00
Nathan Wiebe Neufeldt
0010f5bb4b Fix typos in core_arch documentation 2019-07-25 00:50:43 +02:00
Jonas Schievink
03f389ff6d Adjust #[doc(include)] paths for rustdoc change 2019-07-23 17:14:01 +02:00
bjorn3
a035568e7d Remove unnecessary \n from cpuid 2019-07-23 16:47:27 +02:00
gnzlbg
e4d54a44bf Revert PR 769 2019-07-15 16:28:24 +02:00
Johannes Maibaum
2f2f78ada1 Add ARM Neon vmnv_p8/vmvnq_p8 bw not intrinsics 2019-07-15 09:22:17 +02:00
Johannes Maibaum
c55edc23b4 Add ARM Neon vmvn_*/vmvnq_* bitwise not intrinsics 2019-07-15 09:22:17 +02:00
Luca Barbato
b39c3262f1 Rustfmt altivec.rs 2019-07-11 14:39:54 +02:00