summary refs log tree commit diff
path: root/library/stdarch/crates/simd-test-macro/src/lib.rs
AgeCommit message (Collapse)AuthorLines
2025-07-14Merge pull request #1837 from heiher/loong32Amanieu d'Antras-1/+1
loongarch: Add basic support for LoongArch32
2025-07-11tests: neon is armMarijn Schouten-1/+1
2025-07-07Remove std-detect dev dependency in core_archJakub Beránek-1/+1
2025-06-28loongarch: Add basic support for LoongArch32WANG Rui-1/+1
2025-05-03fix - aarch64_be testsJames Barford-Evans-1/+1
2025-04-20Change test skipping logic a little, separate feature-based and ↵sayantn-19/+19
function-based skipping
2025-01-20basic infra for s390x vector intrinsicsFolkert de Vries-0/+1
2024-03-13arm64ecDaniel Paoliello-1/+1
2024-02-28core_arch: Add LoongArch LSX testcasesWANG Rui-0/+1
2023-11-30Report missing features when skipping tests.Jacob Bramley-7/+9
2023-10-02Support adding attributes to `simd_test` testsEduardo Sánchez Muñoz-34/+5
It uses the syn crate to parse the function, so the name can now be extracted without the `find_name` helper.
2022-10-25Edition 2021, apply clippy::uninlined_format_args fix (#1339)Yuri Astrakhan-2/+2
2021-12-08RISC-V feature and detect macro (#1263)Luo Jia-0/+1
2021-04-11Convert all crates to 2018 edition (#1109)Joshua Nelson-2/+0
2021-04-07Deny 2018 idiom lints (#1108)Joshua Nelson-0/+1
This lint is allow by default, which is why this wasn't spotted earlier. It's denied by rust-lang/rust, so it's good to warn about it here so it can be fixed more quickly.
2020-09-03Bye bye MMX! (#890)Mateusz Mikuła-12/+0
2020-05-29feature detectionMahmut Bulut-1/+4
2020-05-28Fix CI issues caused by updated nightlyAmanieu d'Antras-4/+11
Rust bug: https://github.com/rust-lang/rust/issues/72545
2019-07-09Update repo namegnzlbg-1/+1
2019-04-19Better error message when TARGET is missinggnzlbg-1/+3
2019-04-09Implement all MSA IntrinsicsRadovan Birdic-2/+2
2019-01-22Automatically insert emms after running each MMX testgnzlbg-1/+14
After using MMX intrinsics the FPU must be cleared by using _mm_empty() before interfacing with any x87 code. This commit makes the simd_test macro automatically do that when one of the features enabled is "mmx".
2018-12-14Rerun rustfmtAlex Crichton-3/+1
2018-12-14Remove usage of deprecated functionsAlex Crichton-2/+2
2018-12-13Run rustfmt on stable, delete rustfmt.toml (#619)Alex Crichton-9/+12
This commit switches CI to running `rustfmt` on the stable compiler (as rustfmt is stable now!). Additionally it deletes `rustfmt.toml` to ensure we're following the same style as the rest of the ecosystem.
2018-11-22formattinggnzlbg-1/+1
2018-11-11fix clippy and shellcheck issuesgnzlbg-19/+14
2018-11-11formattinggnzlbg-1/+2
2018-07-17Fix compile on latest nightly (#527)Alex Crichton-2/+0
The `proc_macro` feature has stabilized in the compiler and usage of it largely needs to switch to `use_extern_macros` now.
2018-06-15reformat with latest rustfmtgnzlbg-13/+12
2018-06-05Replace the deprecated TokenStream::empty() with new()Luca Barbato-2/+2
Requires proc-macro2 0.4.4
2018-05-23Add an env variable to ignore the arch-specific testsLuca Barbato-0/+8
Use STDSIMD_TEST_NORUN=1 to disable them.
2018-05-21Update proc macro2 (#455)Luca Barbato-11/+11
* Update to proc_macro2 0.4 and related * Update to proc_macro2 0.4 and related * Update to proc_macro2 0.4 and related * Add proc_macro_gen feature * Update to the new rustfmt cli * A few proc-macro2 stylistic updates * Disable RUST_BACKTRACE by default * Allow rustfmt failure for now * Disable proc-macro2 nightly feature in verify-x86 Currently this causes bugs on nightly due to upstream rustc bugs, this should be temporary * Attempt to thwart mergefunc * Use static relocation model on i686
2018-05-16add run-time feature detection for powerpc (#452)gnzlbg-0/+1
2018-05-16bugfix: cfg(tests) should be cfg(test) (#450)gnzlbg-1/+1
2018-04-26fix errors/warnings from the stabilization of cfg_target_feature and ↵gnzlbg-14/+13
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-03Fix compile errors in simd-test-macroAlex Crichton-13/+12
2018-03-27rustfmtJason Davies-1/+1
2018-03-22Fix default `cargo test` experience (#397)Alex Crichton-13/+2
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-22add tests for endian-dependent behavior (#394)gnzlbg-9/+11
* add tests for endian-dependent behavior * format
2018-03-20add arm neon vector types (#384)gnzlbg-1/+1
2018-03-10[mips/mips64: msa] add add_a_b intrinsic (#365)gnzlbg-4/+38
* [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-07Rename `is_target_feature_detected!` (#346)Alex Crichton-1/+13
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-02-18Reorganize and refactor source tree (#324)Alex Crichton-0/+100
With RFC 2325 looking close to being accepted, I took a crack at reorganizing this repository to being more amenable for inclusion in libstd/libcore. My current plan is to add stdsimd as a submodule in rust-lang/rust and then use `#[path]` to include the modules directly into libstd/libcore. Before this commit, however, the source code of coresimd/stdsimd themselves were not quite ready for this. Imports wouldn't compile for one reason or another, and the organization was also different than the RFC itself! In addition to moving a lot of files around, this commit has the following major changes: * The `cfg_feature_enabled!` macro is now renamed to `is_target_feature_detected!` * The `vendor` module is now called `arch`. * Under the `arch` module is a suite of modules like `x86`, `x86_64`, etc. One per `cfg!(target_arch)`. * The `is_target_feature_detected!` macro was removed from coresimd. Unfortunately libcore has no ability to export unstable macros, so for now all feature detection is canonicalized in stdsimd. The `coresimd` and `stdsimd` crates have been updated to the planned organization in RFC 2325 as well. The runtime bits saw the largest amount of refactoring, seeing a good deal of simplification without the core/std split.