49 Commits

Author SHA1 Message Date
Jorge Aparicio
3b254b2565 acle/docs: add armv8-m and armv8-r to the list of rustc targets & llvm features 2019-02-18 19:29:13 +01:00
Jorge Aparicio
32f6e2f8f7 acle: add ldrex, clrex and strex 2019-02-18 19:29:13 +01:00
Jorge Aparicio
a681e3b3f5 acle/dsp: note the difference between LLVM's +dsp and ACLE's __ARM_FEATURE_DSP
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r256597576
2019-02-18 19:29:13 +01:00
Jorge Aparicio
43cfda6670 acle/dsp: update comment
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r256556341
2019-02-18 19:29:13 +01:00
Jorge Aparicio
309f91b3e0 acle/barrier: remove cfg from re-export
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r256556043
2019-02-18 19:29:13 +01:00
Jorge Aparicio
ab2e19bc14 acle/hints: gate sevl on 'v8' rather than on 'aarch64'
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r256553546
2019-02-18 19:29:13 +01:00
Jorge Aparicio
5aee8541c7 acle: move saturating intrinsics into its own module
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255312560
2019-02-18 19:29:13 +01:00
Jorge Aparicio
657e2a47a5 acle/{simd32,dsp}: not available on aarch64
addresses

https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255312249

https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255312264
2019-02-18 19:29:13 +01:00
Jorge Aparicio
627bcddb4f acle/barrier: use llvm.{arm,aarch64}.{dmb,dsb,isb} instead of asm!
also make these available on architectures that don't have a dedicated DMB / DSB
/ ISB instruction

addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255312214
2019-02-18 19:29:13 +01:00
Jorge Aparicio
240468f652 acle/dsp: make available on the A profile 2019-02-18 19:29:13 +01:00
Jorge Aparicio
6ea932d2fe acle/simd32: also expose on the A profile
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255253933
2019-02-18 19:29:13 +01:00
Jorge Aparicio
95a146e285 acle/hints: most hints require 'v6' rather than 'v6k'
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255251241
2019-02-18 19:29:13 +01:00
Jorge Aparicio
4008686ee1 acle/hints: use asm! for __nop
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255250890
2019-02-18 19:29:13 +01:00
Jorge Aparicio
0bcc4a4f01 acle/hints: __dbg requires 'v7'
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255250415
2019-02-18 19:29:13 +01:00
Jorge Aparicio
766fac9afa acle::hints: use llvm.{arm,aarch64.hint}
addresses https://github.com/rust-lang-nursery/stdsimd/pull/557#discussion_r255250217
2019-02-18 19:29:13 +01:00
Jorge Aparicio
13d35372ec add missing import 2019-02-18 19:29:13 +01:00
Jorge Aparicio
da524418fd fix relative import 2019-02-18 19:29:13 +01:00
Jorge Aparicio
36686280f7 remove cmsis module; add acle module
ACLE (ARM C Language Extensions) is more general (supports ARMv4 to ARMv8) than
CMSIS (ARMv7-M and ARMv7-R)
2019-02-18 19:29:13 +01:00
gnzlbg
1fb5f768a9 Bump versions of core_arch and std_detect 2019-02-18 17:49:32 +01:00
Alexander Regueiro
b322f1c03a A few cosmetic improvements. 2019-02-18 17:00:42 +01:00
Alexander Regueiro
a16a30d796 Various cosmetic improvements. 2019-02-18 15:29:36 +01:00
Dominick Allen
48971af4bd Corrected the documentation for _mm256_mul_pd and _mm256_mul_ps to state that they multiply vectors rather than adding them. 2019-02-14 03:46:21 +01:00
gnzlbg
e56de7344f Fix wasm32 build job 2019-02-14 03:45:57 +01:00
gnzlbg
333784b5ef Fix libcore build 2019-02-12 01:02:07 +01:00
Henry de Valence
19e23d1b15 Fix incorrect assert_instr tests. 2019-02-11 19:05:59 +01:00
Henry de Valence
ddd70f987f Add AVX512VL variants of IFMA instructions. 2019-02-11 19:05:59 +01:00
Henry de Valence
10e05055bf Add avx512ifma skeleton. 2019-02-11 19:05:59 +01:00
Henry de Valence
012db4342b Add _mm512_set1_epi64. 2019-02-11 19:05:59 +01:00
Ralf Jung
386420307a MaybeUninit: update to into_initialized (#679)
* MaybeUninit: update to into_initialized

* fix unused import
2019-02-11 07:22:45 -06:00
gnzlbg
d226e32984 Add tests for addcarry and subborrow intrinsics (#672) 2019-01-31 10:11:54 -06:00
gnzlbg
6672ae3f9a Doc tests should use std 2019-01-31 13:07:26 +01:00
Alex Crichton
cf738b0d36
Attempt to fix tests on master (#662)
* Attempt to fix tests on master

* Make all doctests use items from the real `std` rather than this
  crate, it's just easier
* Handle debuginfo weirdness by flagging functions as `no_mangle` that
  we're looking for instructions within.

* Handle double undescores in symbol names
2019-01-30 15:11:35 -08:00
Nikita Popov
69e7d7ac3a Fix addcarry / subborrow intrinsic names (#661) 2019-01-30 12:53:40 -08:00
gnzlbg
957e6bdcc6 Update readme badges 2019-01-30 14:14:18 +01:00
gnzlbg
586c0ae423 Fix docs.rs rustdoc arguments 2019-01-30 13:56:59 +01:00
gnzlbg
0b3f69246c Bump core_arch and std_detect versions 2019-01-30 13:46:41 +01:00
gnzlbg
a49acaf78d Move the core::arch docs into a markdown file 2019-01-30 13:46:41 +01:00
gnzlbg
d5ef055ba9 Fix building docs for all targets on docs.rs and re-export the arch module 2019-01-30 13:46:41 +01:00
gnzlbg
25197fca7b Update readme and dependencies 2019-01-30 11:27:23 +01:00
gnzlbg
3f07066166 Remove integer_atomics feature gate due to stabilization 2019-01-30 11:27:23 +01:00
gnzlbg
72d929bed6 Bump core_arch and std_detect patch version 2019-01-30 11:27:23 +01:00
gnzlbg
3e0f1f754a Update description of core_arch and std_detect 2019-01-30 10:40:16 +01:00
gnzlbg
57fa47d5d3 Fix libcore doc tests 2019-01-24 11:19:06 +01:00
gnzlbg
af7134fcf1 Do not use Self constructors 2019-01-22 20:11:48 +01:00
gnzlbg
5f7006df5a Fix clippy issues 2019-01-22 19:23:32 +01:00
gnzlbg
1d1266b185 Readme from std_detect 2019-01-22 18:49:24 +01:00
gnzlbg
d989b154e5 Add README and licenses to core_arch 2019-01-22 18:49:24 +01:00
gnzlbg
e627b1ac4a Update versions of core_arch and std_detect for release 2019-01-22 18:49:24 +01:00
gnzlbg
11c624e488 Refactor stdsimd
This commit:

* renames `coresimd` to `core_arch` and `stdsimd` to `std_detect`

* `std_detect` does no longer depend on `core_arch` - it is a freestanding
  `no_std` library that only depends on `core` - it is renamed to `std_detect`

* moves the top-level coresimd and stdsimd directories into the appropriate
  crates/... directories - this simplifies creating crate.io releases of these crates

* moves the top-level `coresimd` and `stdsimd` sub-directories into their
  corresponding crates in `crates/{core_arch, std_detect}`.
2019-01-22 17:04:25 +01:00