Eduardo Sánchez Muñoz
3b2a5e2866
Refactor some loops to avoid indexing
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
9f741c5986
Simplify some expressions with pointers and references
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
02156819c9
Avoid constans that are too close to PI or TAU
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
fd9370dd44
Fuse multiple str::replace invocations into a single one
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
5cdd9f81ce
Convert while loop to for
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
eaa7298694
Derive Default for Initializer in std_detect
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
4bfd9935f7
Simplify a cfg
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
936583f12c
Do not deny clippy::missing_inline_in_public_items in std_detect
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
d2674ea2fe
Replace some x >= LO && x <= HI with matches!(x, LO..=HI)
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
db57b42188
Change x <= y - 1 to x < y in static_assert_{u,s}imm_bits
2023-10-31 02:20:17 +01:00
Eduardo Sánchez Muñoz
438d00e891
Silence four additional clippy warnings and sort them alphabetically
2023-10-31 02:20:17 +01:00
Jacob Bramley
a76000b6a0
Drop old link from intrinsic-test README.
...
Now, the README approximately matches the `--help` output.
2023-10-31 02:17:45 +01:00
Eduardo Sánchez Muñoz
fa766fe954
Add #[cfg_attr(miri, ignore)] to tests of functions that cannot be supported by Miri
...
This includes functions that use inline assemby or that do certains operations such as saving/restoring the processor state.
2023-10-30 00:01:33 +01:00
Eduardo Sánchez Muñoz
8b88fb87b7
Improve _mm_round_ss/_mm_round_sd tests
...
* Do not use deprecated CSR access functions
* Test different rounding modes
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
4f52b00597
Extend _mm_minpos_epu16 test to check case where minimum value is repeated
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
46c6fee14e
Extend _mm_insert_ps test to check zeroing priority over copying
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
88cf134226
Extend _mm_mulhrs_epi16 test to check large values
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
e8d5cbd60f
Extend _mm_maddubs_epi16 test to check widening and saturating behavior
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
c07535ca79
Extend SSSE3 hadd/hsub tests to check overflow behavior (wrapping or saturating)
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
0d09b65521
Extend _mm_shuffle_epi8 test to check index wrapping
2023-10-30 00:00:49 +01:00
Eduardo Sánchez Muñoz
d2970f4514
Extend _mm_madd_epi16 test to check cases with large values.
2023-10-30 00:00:49 +01:00
Amanieu d'Antras
ea27e5cfcb
Fix various compilation errors
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
3e5850284a
Fix more missing/incorrect feature specifications
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
b8ba57f310
Cleanup last uses of the stdsimd feature
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
941d609570
Add tracking issue for 32-bit ARM DSP instrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
0352c542d1
Remove ARM udf and dbg intrinsics
...
These have already been removed for AArch64
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
7de980e124
Add tracking issue for all remaining unstable NEON intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
736da66780
Add tracking issue for ARM barrier intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
bd54f94098
Add tracking issue for ARM hint intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
6bde701fe3
Add tracking issue for AArch64 prefetch intrinsic
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
a70d90d17a
Add tracking issue for AArch64 TME intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
9a1854b844
Add tracking issue for ARM CRC32 intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
1838ada25d
Add stability attributes for re-exports of AArch64 NEON intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
b10902e788
Fix 'since' in simd_avx512_types stability attribute
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
bde97f485d
Fix stability attributes for ARM crypto intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
1dcafa2caf
Add tracking issue for ARM NEON instructions
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
ed25ca9875
Add tracking issue for NVPTX intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
21599975ff
Add tracking issues for feature detection
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
39c6d6af13
Add tracking issue for MIPS intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
ead4834277
Add tracking issues for WebAssembly
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
676ad64cae
Add tracking issue for _MM_SHUFFLE
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
04ab1c04b1
Check for missing stability attributes when building outside core
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
ef2c441c81
Add tracking issue for PowerPC intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
5f29166d6a
Add tracking issue for RISC-V intrinsics
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
3243b5b41f
Revert accidental stabilization of _mm512_storeu_ps
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
ef968b89fe
Add tracking issue on has_cpuid
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
3c7af52600
Add stability attributes on x86 re-exports
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
7c238335ea
Add tracking issue for RTM
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
ca55a52eba
Add tracking issue for AVX-512
2023-10-29 20:39:50 +01:00
Amanieu d'Antras
7f5fd0955a
Disable NEON intrinsics on big-endian ARM
...
These are currently broken because the order of elements inside
vectors is reversed on big-endian systems: the ARM ABI requires that
element 0 is located at the highest address of the vector type. However
LLVM intrinsics expect element 0 to be located at the lowest address.
See https://llvm.org/docs/BigEndianNEON.html and `arm_neon.h` in
Clang for more details.
Although this is a breaking change, this is acceptable for 2 reasons:
- big endian ARM targets are only tier 3.
- it is preferable to stop existing code from compiling than to let it
run and produce incorrect results.
2023-10-21 16:29:18 +02:00