1143 Commits

Author SHA1 Message Date
Folkert de Vries
7f6d35d196 implement VectorAdd for s390x 2025-02-07 22:42:27 +00:00
sayantn
e6ea3dc21c Remove CSR accessing tests as they are immediate UB 2025-02-07 22:09:48 +00:00
sayantn
b7036c26db Fix names of several tests
Rewrote `_mm_cvtps_ph` and `_mm_cvtph_ps` tests
2025-02-07 22:09:48 +00:00
Jacob Bramley
bd598f3be3 Update stdarch-gen-arm path generation.
Fix both the instructions for how to regenerate each `generated.rs`, and
the logic for inferring the correct output path from each input
`.spec.yml`.
2025-02-03 21:15:41 +00:00
Jacob Bramley
81035da551 Fix usage of proc_macro2::Punct.
Restructure stdarch-gen-arm to use `Group`s with `Delimiter`s rather
than ad-hoc `Punct`s.

`Punct` should only be used to represent specific characters, and never
for bracket-like characters. Recent versions of `Punct::new` check this
with an assertion.

Note that there doesn't appear to be a way to emit a line break for
formatting reasons — `Punct::new('\n', ...)` no longer works — so this
also removes all blank lines between functions in the generated files.
2025-01-29 17:44:31 +00:00
Folkert de Vries
96576234db implement VectorAdd for s390x 2025-01-20 14:48:56 +00:00
Folkert de Vries
48bbd53d19 basic infra for s390x vector intrinsics 2025-01-20 14:48:56 +00:00
James Barford-Evans
a1be13aeeb refactor - remove Sized as it is implicit 2025-01-16 14:29:19 +00:00
James Barford-Evans
ebd0c622cd remove - relaxing if size 2025-01-16 14:29:19 +00:00
James Barford-Evans
56f7baadc9 fix: always inline signed conversions 2025-01-16 14:29:19 +00:00
James Barford-Evans
f283e449b1 PR feedback & pipeline 2025-01-16 14:29:19 +00:00
James Barford-Evans
28cb01cd6a Remove old ARM intrinsic generator 2025-01-16 14:29:19 +00:00
James Barford-Evans
57b6779050 Generator supports creating neon instructions from YAML 2025-01-16 14:29:19 +00:00
Satoshi Tanda
17422c6089 Fix typo and prettify comment 2024-12-29 10:44:14 +00:00
sayantn
a19239f298 Remove 2 unused intrinsics 2024-12-27 11:23:44 +00:00
sayantn
4da1071b68 Remove v64.rs as it was superseded by simd.rs 2024-12-27 11:23:44 +00:00
sayantn
3a3146a56c Refactor the as_* functions in x86 2024-12-27 11:23:44 +00:00
WANG Rui
75ec201457 core_arch: Add LoongArch basic intrinsics 2024-12-23 22:28:34 +00:00
sayantn
96154fbde8 Fix _mm*_mask_cmp_ep*_mask bug with IMM3=7 2024-12-21 12:02:41 +00:00
daxpedda
9ea6010f16 Fix Wasm f*_sqrt() doc 2024-12-21 12:02:28 +00:00
Martin Liska
728b35dfbb Remove buffers in tests for {f,}xsave{c,}{64,}
Fixes: #1672
2024-12-13 15:07:48 +00:00
Sayantan Chakraborty
5d3879f558 assert_instr for AMX 2024-12-12 16:56:01 +00:00
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
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
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
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