about summary refs log tree commit diff
path: root/library/stdarch
AgeCommit message (Collapse)AuthorLines
2025-05-06Run `aarch64-pc-windows-msvc` runs on the new `windows-11-arm` runnerssayantn-14/+20
2025-05-06Edit `macro_trailing_commas` to enable tests in all architecturessayantn-18/+47
2025-05-06Fix segfault in cirrus CIsayantn-0/+4
2025-05-06Add `riscv32` CI runsayantn-4/+25
2025-05-03change how the test is runJames Barford-Evans-21/+8
2025-05-03add printouts for debuggingJames Barford-Evans-3/+10
2025-05-03retry adding aarch64_be to the pipelineJames Barford-Evans-4/+2
2025-05-03pr feedback - take the instruction count bump out of DockerfileJames Barford-Evans-4/+9
2025-05-03Pr feedback for instruction & hookup CI for aarch64_beJames Barford-Evans-0/+117
2025-05-03fix - aarch64_be testsJames Barford-Evans-10/+19
2025-05-03Fix errors in incorrect SAE and ROUNDING parameterssayantn-78/+123
2025-05-01Require `fma` and `f16c` for `avx512f` in `std_detect`sayantn-4/+10
2025-05-01Implement `sha512`, `sm3` and `sm4` intrinsicssayantn-32/+521
2025-05-01Fix `stdarch-verify`sayantn-17/+13
2025-05-01Revert "std_detect: RISC-V platform guide documentation"Tsukasa OI-126/+78
This reverts commit e907456b2e10622ccd854a3bba8d02ce170b5dbb. This is due to a CI failure (technically broken HTML with duplicate IDs) caused by this commit (visibly fine but invalid per the HTML specification and detected by the LinkCheck tool on the Rust CI process). The author independently working on a rustdoc enhancement to enable writing multiple references to a single footnote. Once that change makes it to the stage0 compiler (the next beta), the original change will be acceptable again (postponed for possibly the version 1.89 cycle).
2025-04-29Add `avx512vl` requirement to testsuite for avx512fp16 128 and 256 bitsayantn-26/+26
2025-04-29Fix errors in decoupling avx512vl and avx512dq from avx512fp16sayantn-92/+106
2025-04-29Fix CI errors due to alignment issues in msvcsayantn-35/+142
2025-04-23std_detect: RISC-V platform guide documentationTsukasa OI-78/+126
Since there's no architectural feature detection on RISC-V (unlike `CPUID` on x86 architectures and some system registers on Arm/AArch64), runtime feature detection entirely depends on the platform-specific facility. As a result, availability of each feature heavily depends on the platform and its version. To help users make a decision for feature checking on a RISC-V system, this commit adds a platform guide with minimum supported platform versions. Note: It intentionally omits the description of the reverse implication related to *extension groups* (such like implication of `B` *from* its members: `Zba`, `Zbb` and `Zbs` extensions) because it currently does not synchronize well with the `-Ctarget-feature` compiler option (due to missing reverse implication checks using `cfg` and due to constraints of the current Rust's feature handling). Instead, it only describes forward implications (like `D` implying `F`) due to the fact that it relatively synchronizes well between Rust and `stdarch` for this kind of feature handling (not fully synchronized though). Still, an extension group is considered "supported" once the platform/version supports runtime detection of all members in it.
2025-04-23Remove workarounds for llvm/llvm-project#98306sayantn-6/+14
2025-04-23Re-enable `armv7-unknown-linux-gnueabihf`sayantn-3/+1
2025-04-23Add power9 and power8 target-featuresLuca Barbato-1/+36
2025-04-23reset the host linkerFolkert de Vries-0/+6
The host's linker is used to compile build.rs files (e.g. for libc). When the user configures a custom liker (e.g. mold) in their own .cargo/config.toml or ~/.cargo/config.toml, that linker will likely not work when running run-docker.sh. So, we now reset it to `cc`, which should always be installed in the docker container.
2025-04-23run `cargo generate-lockfile` before running dockerFolkert de Vries-0/+3
2025-04-23run `powerpc64le` `assert_instr` on CIFolkert de Vries-3/+2
2025-04-21use 'unadjusted' ABI for wasm LLVM intrinsicsRalf Jung-4/+4
2025-04-20Augment `stdarch-test` to parse PPCsayantn-4/+7
- Remove some unused env variables from `run.sh`
2025-04-20Remove `x86_64-unknown-linux-gnu` runsayantn-26/+15
+ Rename `x86_64-unknown-linux-gnu-emulated` run to `x86_64-unknown-linux-gnu`
2025-04-20Add `-Ctarget-feature=+avx512f` run for the emulated runsayantn-5/+12
+ Remove `-Z plt=yes`
2025-04-20Add `test-everything` annotations to more archs to ensure test coverage, and ↵sayantn-21/+53
some small changes to make CI pass - Disable `vsx` tests for `ppc` and `ppc64` - Disable `tme` tests for `aarch64` and `aarch64_be` - Disable `frecipe` tests for `loongarch64` - Add `altivec` run for PPC32 (with `-C target-feature=+vsx` `qemu` gives a nasty error)
2025-04-20Upgrade qemu CPU to `max`sayantn-13/+10
- `ppc32` doesn't have `max` cpu model, so set it to `mpc8610`
2025-04-20Remove `STDARCH_DISABLE_DEDUP_GUARD` as it was unusedsayantn-51/+8
2025-04-20Replace `cfg(stdarch_intel_sde)` with `STDARCH_TEST_SKIP_FUNCTION`sayantn-11/+2
2025-04-20Change test skipping logic a little, separate feature-based and ↵sayantn-31/+27
function-based skipping
2025-04-20Remove `cupid` dependency and `env-override-no-avx` CI runsayantn-182/+3
2025-04-20Add PowerPC64 to CIsayantn-0/+10
2025-04-20Re-enable all conditionally-disabled x86 `assert_instr` testssayantn-341/+101
2025-04-20Upgrade CI OS versionssayantn-30/+30
+ Bump ubuntu to 25.04, windows to `windows-2025`, macos-arm to `macos-15` and macos-x86 to `macos-15-large`
2025-04-20std_detect: Remove /proc/cpuinfo-based detectionTaiki Endo-508/+7
2025-04-18Remove impl_tag from CONTRIBUTING.md filearshitas-1/+1
2025-04-17allow unnecessary transmutesbendn-1/+2
2025-04-17add `vec_extract`, `vec_insert`, `vec_promote` and `vec_insert_and_zero`Folkert de Vries-0/+243
2025-04-17Change void* type for `gather`/`scatter` intrinsicssayantn-186/+198
2025-04-17Change void* type for `cvt_storeu` intrinsicssayantn-81/+81
2025-04-17Change void* type for `compressstore` intrinsicssayantn-65/+57
2025-04-17Change void* type for 3 intrinsicssayantn-8/+8
- `_mm512_load_si512` - `_mm512_loadu_si512` - `_mm512_stream_si512`
2025-04-17Add checks for void pointer types to ensure consistencysayantn-20/+74
2025-04-16Revert "std_detect: Do not use libc::getauxval on 32-bit Android"Taiki Endo-2/+1
This reverts commit 85572dc298f5222902c9b200cebf5d045e769a83.
2025-04-16std_detect: Remove RV32E support attempt on Linux (RISC-V)Tsukasa OI-3/+0
Because the current lowest requirements to run the Linux kernel on RISC-V is RV{32,64}IMA (with 32 general purpose registers) plus some features, RV32E (with only 16 GPRs) is not currently supported. Since it's not sure whether current implemented method will work for future Linux versions even if the minimum requirements are lowered, the support for RV32E (to be more specific, an attempt to do that) is removed for now.
2025-04-16RISC-V: Remove privileged extensions for nowTsukasa OI-35/+0
Until in-kernel feature detection is implemented, runtime detection of privileged extensions is temporally removed along with features themselves since none of such privileged features are stable. Co-Authored-By: Taiki Endo <te316e89@gmail.com> Co-Authored-By: Amanieu d'Antras <amanieu@gmail.com>