Commit Graph

2629 Commits

Author SHA1 Message Date
gnzlbg
9953f8e1ae Add missing From impls to {i,u}8x16. Closes #434 2018-04-28 13:51:19 +02:00
gnzlbg
30962e58e6 fix errors/warnings from the stabilization of cfg_target_feature and target_feature (#432)
* fix build after stabilization of cfg_target_feature and target_feature

* fix doc tests

* fix spurious unused_attributes warning

* fix more unused attribute warnings

* More unnecessary target features

* Remove no longer needed trait imports

* Remove fixed upstream workarounds

* Fix parsing the #[assert_instr] macro

Following upstream proc_macro changes

* Fix form and parsing of #[simd_test]

* Don't use Cargo features for testing modes

Instead use RUSTFLAGS with `--cfg`. This'll help us be compatible with the
latest Cargo where a tweak to workspaces and features made the previous
invocations we had invalid.

* Don't thread RUSTFLAGS through docker

* Re-gate on x86 verification

Closes #411
2018-04-26 21:54:15 -05:00
Guillaume Gomez
189283e76f remove rustdoc warnings 2018-04-19 23:29:05 +02:00
Alex Crichton
9b018d657b Yet more fixes for libstd... 2018-04-16 13:58:26 -07:00
Alex Crichton
6f8c6d9251 More libstd doc tweaks 2018-04-16 07:27:03 -07:00
Alex Crichton
e18fa0baf6 Shuffle around stdsimd::arch::detect bits (#428)
Compile more code on more platforms, tweak imports, try to catch mistakes
sooner.
2018-04-15 10:53:38 -05:00
Alex Crichton
1e7e606bd1 More fixes for stable libstd 2018-04-13 13:39:56 -07:00
Alex Crichton
ff62c6d638 Another fix for stable libstd 2018-04-13 08:58:12 -07:00
Alex Crichton
f650b93003 Stabilize x86/x86_64 intrinsics (#414)
This commit stabilizes all intrinsics in the `x86` and `x86_64` modules, namely
allowing stabilization of the `arch::x86` and `arch::x86_64` module in libstd.
Stabilizations here were applied in an automated fashion using [this
script][scr], and notably everything related to `__m64` was omitted from this
round of stabilization

[scr]: https://gist.github.com/alexcrichton/5b456d495d6fe1df46a158754565c7a5
2018-04-13 09:32:22 -05:00
gnzlbg
b89963711d add arm/aarch64 min/max intrinsics (#424) 2018-04-11 18:57:57 -05:00
gnzlbg
619a7ba19f fix vrsqrt on arm neon (#423)
Closes #383 .
2018-04-11 17:50:47 -05:00
gnzlbg
22b6bfc51c add missing from impls for u8x16 and i8x16 (#421) 2018-04-11 09:06:04 -05:00
gnzlbg
1218140901 implement vertical min/max ops (#418) 2018-04-06 13:50:58 -05:00
gnzlbg
bf11a67f0f remaining masks and select (#417) 2018-04-06 09:29:45 -05:00
gnzlbg
87ce896543 Documents arithmetic reduction semantics (#412)
* documents arithmetic reduction semantics
2018-04-05 19:36:04 +02:00
gnzlbg
80e6c726fb Enable fxsr (#415)
Re-enables fxsr
2018-04-05 16:56:58 +02:00
Alex Crichton
52f9198902 Fix compile errors in simd-test-macro 2018-04-03 07:34:02 -07:00
Alex Crichton
a3def97fc6 Bump dependencies on proc-macro2 2018-04-03 07:17:40 -07:00
gnzlbg
41abade2dc allow verify x86 to fail 2018-04-03 15:40:22 +02:00
gnzlbg
fa9a55105a upgrade formatting 2018-04-03 15:40:22 +02:00
gnzlbg
cae02b7fa0 update ubuntu version 2018-04-03 15:40:22 +02:00
gnzlbg
0239a1a0aa update intel SDE version 2018-04-03 15:40:22 +02:00
Jason Davies
4c3eed5d2d i128 is now stable. 2018-03-27 16:09:03 +02:00
Jason Davies
f5503198b8 rustfmt 2018-03-27 16:09:03 +02:00
Jason Davies
fd5fd85608 Add AArch64 SHA/AES. 2018-03-27 16:09:03 +02:00
gnzlbg
273fc1c344 endian-dependent conversions to/from tuples tests (#400) 2018-03-23 14:12:59 -05:00
gnzlbg
6ce3b9bbba add test for arrays/unions (#399) 2018-03-23 10:49:20 -05:00
Alex Crichton
aafe6ebb75 Fix default cargo test experience (#397)
Turns out Cargo doesn't automatically set `TARGET` for rustc invocations so
carry it forward manually from the build script over to the rustc invocation.
2018-03-22 17:40:44 -05:00
Alex Crichton
fa924e754d Fix doc builds 2018-03-22 11:43:05 -07:00
Alex Crichton
874829e4a9 rustfmt 2018-03-22 11:34:50 -07:00
Jason Davies
de82d9d26b Add support for Intel SHA extensions. (#395) 2018-03-22 13:32:44 -05:00
gnzlbg
56d9a42a2f add tests for endian-dependent behavior (#394)
* add tests for endian-dependent behavior

* format
2018-03-22 11:09:01 -05:00
gnzlbg
db819cb932 remove clone impls (#389)
Closes #386 .
2018-03-20 10:14:26 -05:00
gnzlbg
ff53ec6cb2 add arm neon vector types (#384) 2018-03-20 09:11:50 -05:00
gnzlbg
5f77210b34 add vector/scalar ops (#381) 2018-03-19 15:08:27 -05:00
gnzlbg
0dc39beed6 add llvm bug for reductions on aarch64 (#385) 2018-03-19 09:48:04 -05:00
gnzlbg
f107499c51 add missing fmt implementations (#380) 2018-03-19 09:44:57 -05:00
gnzlbg
68c53c1e55 Split protable vector types tests into multiple crates (#379)
* split the portable vector tests into separate crates

* use rustc reductions
2018-03-18 10:55:20 -05:00
Alex Crichton
44763c853d Fix tests on nightly (#378) 2018-03-16 13:06:07 -05:00
gnzlbg
2762e2ca9a [mips/mips64: msa] add add_a_b intrinsic (#365)
* [mips64/msa] add add_a_b intrinsic

* add make/file to mips64el's Dockerfile

* add run-time detection support for mips64

* add mips64 build bot

* generate docs for mips64

* fix linux test

* cleanup rt-detection

* support mips64/mips64el in stdsimd-test

* support asserting instructions with  in their name

* better error msgs for the auxv_crate test

* debug auxv on mips64

* override run-time detection on mips msa tests

* remove unused #[macro_use]

* try another MIPS cpu

* detect default TARGET in simd-test-macro

* use mips64r2-generic

* disable unused function in mips tests

* move msa to mips

* remove mips from ci

* split into mips and mips64 modules

* add rt-detection for 32-bit mips

* fmt

* remove merge error

* add norun build bots for mips

* add -p to avoid changing the cwd

* fixup

* refactor run-time detection module
2018-03-10 12:22:54 -06:00
QuietMisdreavus
63b540b07a rustfmt 2018-03-10 00:04:01 +01:00
QuietMisdreavus
ef0d02d04b document all arches when part of std
unfortunately, stdsimd's version of the documentation will be blanked
out in favor of coresimd's version, but coresimd (when re-exported in
libcore) will include all the arches
2018-03-10 00:04:01 +01:00
Alex Crichton
cb4a957efd Add initial wasm memory grow/current intrinsics (#361)
This exposes access to the `grow_memory` and `current_memory` instructions
provided by wasm in what will hopefully be a stable interface (the stable part
being x86 first in theory).
2018-03-09 09:21:08 -06:00
Jake Goulding
2b1ee5288f Fix unsigned typo (#359) 2018-03-08 10:29:09 -06:00
Jake Goulding
1f96ac2d53 Typos in cmpistr* functions (#357) 2018-03-08 09:53:44 -06:00
Jake Goulding
77f9754f15 Subtract typo 2018-03-08 16:18:49 +01:00
gnzlbg
afca7f8d16 Migrate to rustfmt-preview and require rustfmt builds to pass (#353)
* migrate to rustfmt-preview and require rustfmt to pass

* reformat with rustfmt-preview
2018-03-08 09:09:24 -06:00
gnzlbg
26fd3bb5a9 better error messages for target-feature detection macros (#352)
Better error messages for target-feature detection macros
2018-03-08 09:59:21 +01:00
Alex Crichton
d7b42faaa3 Add cfg! clauses to detection macro (#351)
This way if the feature is statically detected then it'll be expanded to `true`

Closes #349
2018-03-07 10:28:12 -06:00
Alex Crichton
56af498e9e Rename is_target_feature_detected! (#346)
This commit renames the `is_target_feature_detected!` macro to have different
names depending on the platform. For example:

* `is_x86_feature_detected!`
* `is_arm_feature_detected!`
* `is_aarch64_feature_detected!`
* `is_powerpc64_feature_detected!`

Each macro already has a platform-specific albeit similar interface. Currently,
though, each macro takes a different set of strings so the hope is that like
with the name of the architecture in the module we can signal the dangers of
using the macro in a platform-agnostic context.

One liberty taken with the macro currently though is to on both the x86 and
x86_64 architectures name the macro `is_x86_feature_detected` rather than also
having an `is_x86_64_feature_detected`. This mirrors, however, how all the
intrinsics are named the same on x86/x86_64.
2018-03-07 09:46:16 -06:00