Sayantan Chakraborty
139b2ad3e3
Use core::intrinsics::fmaf16 instead of LLVM intrinsic
2024-12-12 16:56:01 +00:00
Sayantan Chakraborty
0b0b7e6fe1
Cleanup: remove redundant target features
...
Make target feature verification stricter
2024-12-12 16:56:01 +00:00
daxpedda
69efcbdb54
Add numeric instructions for Wasm not available in core
2024-12-12 16:53:36 +00:00
aaishwarymishra@gmail.com
b3bdc662d8
Fix incorrect documentation for _mm_loadu_si64 function
2024-12-09 03:02:48 +00:00
Alex Crichton
745ebd5362
wasm: Add missing #[target_feature] to simd ctors
...
This is a resubmission of #1609 which was ruled optional but not
necessary at the time but it's now necessary. These weren't originally
applied as they weren't allowed in a `const` context but that's no
longer applicable. At the same time though be sure to add some small
tests to ensure that these intrinsics can be used in a `const` context.
2024-12-02 16:28:24 +00:00
Martin Liska
a1e78aca2f
Fix test-case
2024-11-30 23:07:21 +00:00
Martin Liska
0601aa385b
Fix and document _mmX_alignr_epiX family of intrinsics
2024-11-30 23:07:21 +00:00
Martin Liska
1d10adfa38
Fix implementation of _mm256_alignr_epi8<16>
...
The function is supposed to return first argument for IMM8 == 8.
2024-11-30 23:07:21 +00:00
Martin Liska
6d24a9f72b
Fix signature of _mm512_store{u,}_si512.
...
Simiarly to other functions for `mm` and `mm256` register widths, the
first argument should be a pointer to the pointer type. See e.g.
`_mm256_store_si256` function.
2024-11-30 21:35:13 +00:00
Ralf Jung
358aee539b
remove rustc_allow_const_fn_unstable feature gate
2024-11-30 21:34:02 +00:00
Tobias Decking
4d2911ba4b
Rework SIMD zeroing
2024-11-30 00:05:40 +00:00
Asuna
2f608b514b
Fix RISC-V Packed SIMD intrinsics compilation
2024-11-27 09:07:39 +08:00
Amanieu d'Antras
8d563dd6f9
Fix types for ARM SIMD32 intrinsics
...
These were previously defined using vector types which is incorrect.
Instead, `{u}int{8x4,16x2}_t` are aliases for `i32` and `u32`.
This also fixes CI since these types don't need to be passed in NEON
registers and this was triggering a newly added compiler warning.
2024-11-27 07:06:17 +08:00
Eduardo Sánchez Muñoz
4c6bf3801f
Fix asm! options for _mm_mask_load_sh and _mm_maskz_load_sh
...
These functions read from a pointer, so `readonly` has to be used instead of `nomem`.
2024-11-10 08:20:24 +08:00
Eduardo Sánchez Muñoz
a552144515
Fix duplicated doc comment line and empty line after doc comment
2024-11-10 07:58:04 +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
WANG Rui
49e52f3657
core_arch: 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
8a68450e25
Clean up docs, fixing indentation and formatting
2024-09-28 20:14:36 -04:00
Martin Liska
6a75539815
Simplify code related to testing of xtest
2024-09-23 10:19:11 -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
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