1201 Commits

Author SHA1 Message Date
Luca Barbato
f866a61df6 Add vec_subc 2024-02-16 15:57:52 +00:00
Luca Barbato
e5d393dce8 Add vec_round 2024-02-16 15:57:52 +00:00
Luca Barbato
9dbcfa9856 Add vec_rl 2024-02-16 15:57:52 +00:00
Luca Barbato
6b6fb15fbb Add vec_cntlz 2024-02-16 15:57:52 +00:00
Nikita Popov
7f510b818f Update test expectations for aarch64 2024-02-16 10:55:33 +00:00
daxpedda
1e8274d34d Remove last mention of stdsimd 2024-02-14 15:08:29 +00:00
Luca Barbato
122674ff51 Add vec_st, vec_stl, vec_ste 2024-02-11 11:51:02 +00:00
Luca Barbato
77272548a7 Fix vec_ldl 2024-02-11 11:51:02 +00:00
Luca Barbato
848d0c4878 Add vec_cmpne 2024-01-29 16:00:22 +00:00
Luca Barbato
e216d66329 Add the boolean types for vec_nor 2024-01-29 16:00:22 +00:00
Luca Barbato
0e945675ca Add vec_adde 2024-01-29 16:00:22 +00:00
Luca Barbato
862009da89 Add vec_slv and vec_srv 2024-01-26 00:10:58 +00:00
Luca Barbato
1ffec54a84 Add vec_sro 2024-01-26 00:10:58 +00:00
Luca Barbato
e3745d93c9 Add vec_srl 2024-01-26 00:10:58 +00:00
Luca Barbato
5b58bae153 Add vec_sra 2024-01-26 00:10:58 +00:00
Luca Barbato
f5a65e7951 Add vec_sr 2024-01-26 00:10:58 +00:00
Luca Barbato
59fc60f983 Add vec_slo 2024-01-26 00:10:58 +00:00
Luca Barbato
2ae29d26a2 Add vec_sll 2024-01-26 00:10:58 +00:00
Luca Barbato
0da079d7a5 Add vec_sld and vec_sldw 2024-01-26 00:10:58 +00:00
Luca Barbato
2500f3b401 Add vec_sl 2024-01-26 00:10:58 +00:00
Makoto Kato
d51ea0d261 Add CPU detection for macOS/aarch64. 2024-01-16 02:57:10 +00:00
Luca Barbato
c4a00026d4 Rename vec_splat_i* to the correct name 2024-01-15 15:44:31 +00:00
eupn
2e8d4ba8c8
Add missing ARM-v7A CRC intrinsics (#1515)
* Move aarch64 crc into arm shared module

* Add missing 32-bit arm crc intrinsics

On 32-bit ARM, this intrinsic emits two instructions and splits its 64-bit input parameter between them.

https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/ARM-ACLE-Intrinsics.html
2024-01-10 12:44:04 +00:00
Luca Barbato
ea70e93c24 Add vec_xst 2024-01-06 00:40:31 +00:00
Amanieu d'Antras
76d52cdd68 Fix std_detect not being an unstable crate
More fallout from #1486
2024-01-05 11:14:38 +00:00
Amanieu d'Antras
fd973c2765 Fix std build failure on non-x86 architectures
This is more fallout from #1486
2024-01-04 13:00:34 +00:00
Amanieu d'Antras
a600c72f50 Fixes for use in the standard library 2024-01-02 17:46:10 +00:00
Amanieu d'Antras
b5406fedd4 Add #![allow(internal_features)] to a test to fix CI 2023-12-19 01:25:56 +00:00
Gijs Burghoorn
786f28dd8b Stabilize Ratified RISC-V Target Features
As shortly discussed on Zulip
(https://rust-lang.zulipchat.com/#narrow/stream/250483-t-compiler.2Frisc-v/topic/Stabilization.20of.20RISC-V.20Target.20Features/near/394793704), this commit stabilizes the ratified RISC-V instruction bases and extensions.

Specifically, this commit stabilizes the:
* Atomic Instructions (A) on v2.0
* Compressed Instructions (C) on v2.0
* Integer Multiplication and Division (M) on v2.0
* Bit Manipulations (B) on v1.0 listed as `zba`, `zbc`, `zbs`
* Scalar Cryptography (Zk) v1.0.1 listed as `zk`, `zkn`, `zknd`, `zkne`, `zknh`, `zkr`, `zks`, `zksed`, `zksh`, `zkt`, `zbkb`, `zbkc` `zkbx`
2023-11-30 22:53:04 +00:00
Amanieu d'Antras
3ac4ba6670 Revert "Work around CI failures for the ARM target"
This reverts commit 5a748ec5fabcaee29351ac3c90eee4f3e16964e7.
2023-11-30 08:20:47 +00:00
Jacob Bramley
86cb5730ae Report missing features when skipping tests. 2023-11-30 07:48:46 +00:00
Amanieu d'Antras
4fe088329c Work around CI failures for the ARM target
These seem to have been introduced by recent LLVM changes.

* The instruction limit for vld*/vst* has been raised. This is not a
significant issue, it is only used for testing.
* vld*/vst* instructions are generated with overly strict alignments:
https://github.com/rust-lang/stdarch/issues/1217
* vtbl/vtbx instrinsics are failing intrinsic-test for unknown reasons.
2023-11-30 07:48:09 +00:00
Eduardo Sánchez Muñoz
9b4a79c5d4 Re-implement some AVX functions without LLVM intrinsics 2023-11-18 20:30:18 -08:00
Eduardo Sánchez Muñoz
40237e7f83 Use char constants for single-character patterns 2023-11-18 20:28:46 -08:00
Eduardo Sánchez Muñoz
6bde860207 Silence clippy::if_same_then_else in a specific location 2023-11-18 20:28:46 -08:00
Eduardo Sánchez Muñoz
5fb5ff2ba3 Use str::strip_prefix instead of str::starts_with + manual strip 2023-11-18 20:28:46 -08:00
Eduardo Sánchez Muñoz
dfcf46890d Use is_empty instead of comparing len to zero 2023-11-18 20:28:46 -08:00
Eduardo Sánchez Muñoz
57479f8c9b Remove unneeded borrows 2023-11-18 20:28:46 -08:00
Jacob Bramley
211a00769c Improve intrinsic-test output formatting.
This change is simple, but makes the generated tests much easier to
follow (and debug).
2023-11-17 23:49:21 -08:00
Jacob Bramley
d2736197f7 Add --generate-only to intrinsic-test.
This is useful for debugging.
2023-11-17 23:49:21 -08:00
Ralf Jung
ef6263d968 do not use const stability attribute when we don't even need to call the intrinsic in const 2023-11-16 15:53:11 -08:00
Jake Goulding
e01a7c2408 Fix copy-paste typos for the _x2 and _x3 vector types 2023-11-16 15:52:37 -08:00
Ralf Jung
3bc20dc71c riscv: remove intrinsics that cannot be used from Rust 2023-11-05 18:28:04 +01:00
Jacob Bramley
7f2a7c09ef Fix intrinsic-test author handling.
CARGO_PKG_AUTHORS is :-separated.

Also add myself to intrinsic-test authors.
2023-11-01 14:33:48 +01:00
Jacob Bramley
05afebca4d Clean up intrinsic-test literals.
- Ensure that C literals don't rely on undefined overflow behaviour.
- We don't need to use 'as' casts, so remove them.
- We weren't using allow(overflowing_literals), so remove it.
- Format FP bit values as hex.

This simplifies the test input initialisers in the generated files,
making them shorter and easier to debug.
2023-11-01 14:33:48 +01:00
Jacob Bramley
1970299926 Remove unnecessary unsafety in intrinsic tests.
This fixes "unnecessary `unsafe` block" warnings encountered when
building the generated rust_programs.

The only pattern that actually required `unsafe` was transmuting bit
patterns into floats. This patch uses the safe `from_bits` instead, but
because that isn't const, we have to make them local let-bound
variables.
2023-11-01 14:33:48 +01:00
Eduardo Sánchez Muñoz
5a4a732762 Avoid unneeded transmutes in generated ARM tests 2023-10-31 17:58:01 +01:00
Eduardo Sánchez Muñoz
84979543bd Reduce code that handles number of parameters in stdarch-gen gen_test 2023-10-31 17:58:01 +01:00
Eduardo Sánchez Muñoz
c808ba4722 Remove unneeded transmutes in ARM code, except generated tests 2023-10-31 17:58:01 +01:00
ZHAI Xiang
5625c8bf49 std_detect: Add support for LoongArch
Co-authored-by: WANG Rui <wangrui@loongson.cn>
2023-10-31 14:37:10 +01:00