Urgau
7956142f92
Add compile-time tests against unexpected target features cfgs
2024-11-08 06:17:06 +08:00
Urgau
f62e1daa2d
Mark feature with missing corresponding target feature cfgs as such
...
Computed by diffing of:
$ rg "[ ]+@FEATURE: .*: \"(.*)\";" -r '$1' --no-filename \
crates/std_detect/src/detect/ | sort | uniq
With (from the main Rust repo[^1]):
$ rg "target_feature" tests/ui/check-cfg/well-known-values.stderr
[^1]: e8c698bb3b/tests/ui/check-cfg/well-known-values.stderr (L177)
2024-11-08 06:17:06 +08:00
Urgau
a6a49cfd90
Add ability to declare a feature without cfg checking
...
This is necessary to avoid `unexpected_cfgs` warnings for unexpected/
missing target features, in user code.
2024-11-08 06:17:06 +08:00
Noa
281fe5f474
Use C-unwind abi for the llvm.wasm.throw intrinsic
2024-11-01 20:17:42 +08:00
Jens Reidel
89caa7798f
core_arch: powerpc: Fix documentation for vec_ctu
...
Like the name suggests, this converts to unsigned integers rather than
signed. I assume this was copy pasted from vec_cts.
Signed-off-by: Jens Reidel <adrian@travitia.xyz>
2024-11-01 06:07:58 +08:00
Ralf Jung
73c15a0c93
cleanup wasm const fn
2024-10-28 15:48:52 +08:00
Kajetan Puchalski
168479a4a5
std_detect: Add pauth-lr aarch64 target feature
...
Add feature detection for aarch64 FEAT_PAuth_LR.
There is currently no Linux cpuinfo support so the OS-specific lines are
commented out.
2024-10-27 02:59:49 +08:00
WANG Rui
49e52f3657
core_arch: Add LoongArch frecipe intrinsics
2024-10-14 14:24:33 +02:00
WANG Rui
2d56d53f81
stdarch-gen: Add LoongArch frecipe intrinsics
2024-10-14 14:24:33 +02:00
Ralf Jung
07d24af3ac
avoid rustc_const_stable on internal function
2024-10-10 16:24:24 +02:00
Amanieu d'Antras
14e3cd7b1d
Fix __crc32d
and __crc32cd
not showing up in standard library docs
2024-09-30 15:01:50 -04:00
Yuri Astrakhan
11f975e51d
Add all crates to workspace
...
I am not certain why some crates are missing - it might be by accident or on purpose, so feel free to reject. This makes sure no crate is missed by accident,
and also removed the non-existent `wasm-assert-instr-tests` crate.
P.S. Also, added some crate-level lints, but perhaps these should be added to all crates in the workspace?
2024-09-30 13:23:20 -04:00
Yuri Astrakhan
0760ed6ca7
Minor linting
2024-09-30 13:00:24 -04:00
Yuri Astrakhan
8a68450e25
Clean up docs, fixing indentation and formatting
2024-09-28 20:14:36 -04:00
Yuri Astrakhan
196843736d
Improve stdarch-gen-arm a bit
...
Minor nits in the code, like usage of `&Option<str>`
2024-09-28 19:50:10 -04:00
Martin Liska
6a75539815
Simplify code related to testing of xtest
2024-09-23 10:19:11 -04:00
Sayantan Chakraborty
959c49f0d0
Use Cargo.toml lints instead of a build script
2024-09-22 18:19:47 -04:00
Martin Liska
63603fd41f
Add space in order to fix rendering of Rounding options
2024-09-22 17:57:31 -04:00
Martin Liska
f319d8c5d9
Make documentation about __mm_$op_ps
more precise
2024-09-22 11:55:20 -04:00
Martin Liska
8376fbe34f
Provide link for rounding parameters - SSE
2024-09-22 11:32:58 -04:00
Martin Liska
f8813384e7
Provide link for rounding parameters
2024-09-22 11:32:58 -04:00
Martin Liska
fcf6e95c90
Change markdown for ROUNDING params in f16c.rs
2024-09-22 11:32:58 -04:00
Martin Liska
04f4ca9680
Ignore XSTATE_BV when comparing XTEST XsaveArea
2024-09-22 07:56:46 -04:00
Sayantan Chakraborty
d6f40ec495
Fixes the shrd
bug
2024-09-22 07:33:16 -04:00
Kajetan Puchalski
485ded6369
std_detect: Add sme-b16b16 as an explicit aarch64 target feature
...
LLVM 20 split out what used to be called b16b16 and correspond to aarch64
FEAT_SVE_B16B16 into sve-b16b16 and sme-b16b16.
Add sme-b16b16 as an explicit feature and update the detection accordingly.
2024-09-18 12:48:54 -04:00
Taiki Endo
24b5e3c99e
Use C string literal
2024-09-18 05:58:40 -04:00
Taiki Endo
9e5b3f5c8c
std_detect: Fix link in mips.rs
2024-09-18 05:30:10 -04:00
Taiki Endo
720973b1b4
std_detect: Use elf_aux_info on FreeBSD
2024-09-18 05:07:32 -04:00
Mads Marquart
8a511191a0
Enable feature detection on all Apple/Darwin targets
...
Tested in the simulator and on the device I had lying around, a 1st
generation iPad Mini (which isn't Aarch64, but shows that the
`sysctlbyname` calls still work even there, even if they return false).
`sysctlbyname` _should_ be safe to use without causing rejections from
the app store, as its usage is documented in:
https://developer.apple.com/documentation/kernel/1387446-sysctlbyname/determining_instruction_set_characteristics
Also, the standard library will use these soon anyhow, so this shouldn't
affect the situation:
https://github.com/rust-lang/rust/pull/129019
2024-09-14 04:25:01 +01:00
Ralf Jung
4eed3c8a23
simd_extract, simd_insert: use absolute path in macro
2024-08-28 14:55:57 +01:00
Ralf Jung
7ccb13c178
simd_shuffle: pass the idx argument as a vector
2024-08-28 11:28:07 +01:00
dheaton-arm
03f144596f
Fix test verification and allow for generic types in intrinsics
2024-08-27 15:14:28 +01:00
dheaton-arm
92b6a3abae
Add MTE intrinsics
...
Adds intrinsic functions to `core_arch::aarch64` for MTE, as per the
ACLE:
- __arm_mte_create_random_tag
- __arm_mte_increment_tag
- __arm_mte_exclude_tag
- __arm_mte_set_tag
- __arm_mte_get_tag
- __arm_mte_ptrdiff
These are unavailable without the `mte` target feature.
2024-08-27 15:14:28 +01:00
James Barford-Evans
4f6820bd1b
fix rebase, remove the const_vector attribure
...
formatting
remove comma
put back square brackets
2024-08-21 01:18:59 +01:00
George Wort
2caf80145b
Use #[rustc_intrinsic_const_vector_arg] for Neon intrinsics
...
This allows the constant vector to be passed directly
to LLVM which fixes a few issues where the LLVM intrinsic
expects a constant vector.
2024-08-21 01:18:59 +01:00
Kjetil Kjeka
869ddbeb66
NVPTX: Add f16 SIMD intrinsics
2024-08-19 20:16:10 +01:00
Eduardo Sánchez Muñoz
f23656fbb6
Avoid legacy numeric constants
2024-08-19 17:01:20 +01:00
Eduardo Sánchez Muñoz
c103c015a8
Add loongarch64-unknown-linux-gnu to CI
2024-08-19 16:38:59 +01:00
Eduardo Sánchez Muñoz
76d71ff37e
Use full path to refer simd_shuffle
intrinsic from simd_shuffle!
macro
...
Avoids needing to import `crate::intrinsics::simd::simd_shuffle` in each file where `simd_shuffle!` is used and fixes loongarch64
2024-08-17 18:07:04 +01:00
Eduardo Sánchez Muñoz
d9f0480fae
Remove #![feature(asm_const)]
2024-08-17 18:07:04 +01:00
Luca Versari
87567faed1
Clarify the layout documentation for x86 SIMD types.
2024-08-16 14:33:04 +01:00
Luca Versari
d54fe45ffb
Document the layout of x86 SIMD types.
2024-08-14 14:57:25 +01:00
Scott McMurray
4f02e2f8a9
Keep Debug
the same
...
This ended up way more annoying than expected, because I needed to refactor the `types!` macro to separate out the stability attributes to put those on the `Debug` impl without also copying all the `#[doc]`s. But I like how it came out in the end, reducing duplication in the macro invocations.
But without it all the C-consistency tests fail.
2024-08-08 23:47:25 +01:00
Scott McMurray
1bf1eff5cc
Move entirely to array-based SIMD
...
See MCP#621
This tries to make as few changes as possible -- it keeps the `new` functions taking all the parameters, for example.
2024-08-08 23:47:25 +01:00
Sayantan Chakraborty
0c304072bc
Remove the dummy
function
2024-08-04 12:10:17 +01:00
Sayantan Chakraborty
200905e0e9
Fix _mm_stream_si64
2024-08-03 22:58:47 +01:00
Jonas Fierlings
47068b1a06
Fix markdown list in docs
2024-08-03 19:24:37 +01:00
ziyizhang-1
50cd4ef0c5
initial commit to enable amx
...
AMX Intrinsics:
amx-tile:
- _tile_loadconfig
- _tile_storeconfig
- _tile_loadd
- _tile_release
- _tile_stored
- _tile_stream_loadd
- _tile_zero
amx-int8:
- _tile_dpbssd
- _tile_dpbsud
- _tile_dpbusd
- _tile_dpbuud
amx-bf16:
- _tile_dpbf16ps
amx-fp16
- _tile_dpfp16ps
amx-complex
- _tile_cmmimfp16ps
- _tile_cmmrlfp16ps
2024-08-03 19:02:09 +01:00
sayantn
4a13560ede
Update Intrinsics List to v3.6.9
...
Add `#[inline]` to avx512ifma intrinsics
Fix the test equality.
Remove the stability attributes in simd types and test functions
2024-07-26 12:20:06 +01:00
sayantn
3cf2b7d74f
AVX512FP16 Part 9: Remaining avx512fp16 and avxneconvert
2024-07-26 12:20:06 +01:00