* 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
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
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.
* [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
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
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).
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.