Commit Graph

862 Commits

Author SHA1 Message Date
Sparrow Li
f0e2f536bc Convert vsri_n_* methods to const generics (#1033) 2021-03-01 10:39:03 +00:00
Sparrow Li
42c0cfb8b7 Convert vsli_n_* neon methods to const generics (#1027) 2021-03-01 10:38:56 +00:00
Rémy Rakic
634d0f575d Convert x86/sse41.rs intrinsics to const generics (#1026) 2021-03-01 01:42:16 +00:00
tmiasko
64c624ac50 Convert _mm_slli_si128 & _mm_srli_si128 to const generics (#1024) 2021-02-28 19:06:34 +00:00
Amanieu d'Antras
3fb437b867 Add stricter validation of const arguments on x86 intrinsics (#1025) 2021-02-28 18:07:42 +00:00
Rémy Rakic
d6a22093aa Convert SSE 4.2 intrinsics to const generics (#1023) 2021-02-28 17:26:55 +00:00
tmiasko
62acdc9f38 Convert _mm_slli_epi{16,32,64} & _mm_srli_epi{16,32,64} to const generics (#1020) 2021-02-28 16:22:02 +00:00
Rémy Rakic
5438f1fb7e Convert some SSE2 intrinsics to const generics (#1021) 2021-02-28 02:48:43 +00:00
Amanieu d'Antras
78ab9042cb Use static assertions to bound-check const generics (#1019) 2021-02-27 16:16:47 +00:00
Amanieu d'Antras
b4023b1ffe Initial conversion to const generics (#1018) 2021-02-27 14:25:19 +00:00
Sparrow Li
5728faf0f7 Fix integer overflow in vadd aarch64 test cases (#1016) 2021-02-26 02:42:24 +00:00
Joshua Nelson
35eff866a4 Switch from doc(include) to doc = include_str! (#1013)
I plan to deprecate `doc(include)` in the near future, and
rust-lang/rust denies warnings in CI.
2021-02-26 00:23:54 +00:00
minybot
2c7d98da90 avx512bw (#1014) 2021-02-25 20:38:05 +00:00
Amanieu d'Antras
9efe7f9b12 Fix _mm_storeu_pd test (#1015) 2021-02-25 18:44:17 +00:00
minybot
124b28d679 Avx512f avx512vl (#1010) 2021-02-23 01:33:16 +00:00
Amanieu d'Antras
f32f7cb899 Turn std_detect into a no_std crate (#1005) 2021-02-14 22:14:37 +00:00
minybot
b7acc2e1da Avx512f avx512vl (#1001) 2021-02-14 17:59:05 +00:00
Ralf Jung
8c6b267d44 use min_const_generics to avoid incomplete_features (#976) 2021-02-14 16:57:29 +00:00
Amanieu d'Antras
cd7547d369 Fix CI (#1007) 2021-02-14 12:07:11 +00:00
kangshan1157
936e1add97 Implement avx512bf16 intrinsics (#998) 2021-02-10 23:29:27 +00:00
minybot
54ce616d6b Avx512 avx512vl (#999) 2021-02-10 03:14:34 +00:00
minybot
aca07c3104 Fix_avx512f,bw (#997) 2021-02-07 20:40:43 +00:00
minybot
135a256a9a Avx512f avx512vl (#995) 2021-02-06 16:56:47 +00:00
Thom Chiovoloni
59dfb05bd0 Add 'volatile' to cpuid inline asm (#994) 2021-02-06 01:57:55 +00:00
minybot
ff16186fcc Avx512f avx512vl (#991) 2021-02-03 23:52:48 +00:00
Eduardo Sánchez Muñoz
ec9e7f28b5 fix _mm_loadu_si64 (#992) 2021-02-03 23:18:16 +00:00
jethrogb
402d81b9a3 Clarify _mm256_shuffle_epi8 documentation (#990)
The old documentation seemed to suggest that the low 4 bits of bytes in `b` would index into the 32-element array `a`. That's not quite right and you'd need 5 bits to index 32 elements.
2021-01-30 20:06:21 +00:00
minybot
cae0862f44 Avx512f avx512vl (#988) 2021-01-30 20:05:34 +00:00
minybot
919dfbd0f2 Avx512f_avx512vl (#985) 2021-01-23 13:55:03 +00:00
Carlos Pérez
390ce8dca5 Fix false rustdoc broken_intra_link detection (#984)
I saw in https://github.com/rust-lang/rust/issues/81037
that when you document private items with rustdoc the
`x86 AVX-512 BITALG` feature comment does not contain
scape characters in the message and therefore rustdoc
was emiting warnings.

This fixes it.
2021-01-18 23:56:58 +00:00
minybot
7f67a97180 Avx512f_avx512vl (#983) 2021-01-18 23:56:21 +00:00
minybot
1f93bbe3b9 avx512vnni (#982) 2021-01-13 14:09:19 +00:00
minybot
6dc569d9d9 avx512vbmi2 (#979) 2021-01-11 16:52:19 +00:00
minybot
981e250f89 Avx512vbmi (#977) 2021-01-04 00:35:51 +00:00
Amanieu d'Antras
5f6e8a261f Fix CI failure caused by new warnings (#978) 2021-01-03 22:17:21 +00:00
tmiasko
bd91c5e9cf Remove no longer necessary bootstrap guards (#975) 2020-12-31 16:21:46 +00:00
minybot
448a5d481d Avx512bw (#972) 2020-12-25 21:27:57 +00:00
tmiasko
111adc8ac0 Move code out of constify macros (#973) 2020-12-21 15:33:08 +00:00
minybot
6fc888bd95 Avx512bw (#971) 2020-12-14 02:35:10 +00:00
tmiasko
e8bef7ee3f Use a bootstrap guard for modules with new target features (#970)
The recently added modules use target features that are not yet
available in rustc compiler used for bootstrapping.

Guard them with `#[cfg(not(bootstrap))]`.
2020-12-11 17:02:35 +00:00
tmiasko
9dc04c006f Avoid calling intrinsics with invalid const arguments (#969) 2020-12-11 12:23:50 +00:00
minybot
a3a53f28be Avx512bw (#965) 2020-12-09 00:35:34 +00:00
minybot
b6c1c205df Avx512cd (#963) 2020-12-09 00:32:37 +00:00
DevJPM
c5ccd02907 Add AVX512BITALG (#964)
This adds the AVX512BITALG intrinsics.
It also patches the verification against the Intel Intrinsic Guide
because Rust uses a different naming.
Added intrinsics match _mm(256|512)?(_maskz?)?_popcnt_epi(8|16) for the popcount ones
and _mm(256|512)?(_mask)?_bitshuffle_epi64_mask
2020-12-09 00:28:58 +00:00
DevJPM
fa56fcfd8a Add GFNI Intrinsics (#961) 2020-12-01 15:03:51 +00:00
DevJPM
c1ae807d89 Add AVX512VPOPCNTDQ Intrinsics (#962)
Adds all 18 intrinsics belongin to AVX512VPOPCNTDQ counting the number of set bits in packed 32 / 64 bit integers.
Intrinsics match _mm(256|512)?(_maskz?)?_popcnt_epi(32|64).
Versions for packed 8 and 16 bit integers are part of BITALG.
2020-12-01 09:44:58 +00:00
DevJPM
a6be1973aa Add VPCLMULQDQ Intrinsics (#943) 2020-12-01 09:44:10 +00:00
minybot
8cd6f164a6 Avx512bw (#960) 2020-12-01 09:43:01 +00:00
Andrew Sadler
f0ed8c497d Reimplement _xgetbv with LLVM intrinsics (#958)
`_xgetbv` was reimplemented to use inline assembly in #333 since LLVM
3.9 didn't export the intrinsic we needed to use.  LLVM 4.0 has since
rectified that issue, and since rust's minimum supported version of LLVM
is 8.0, this change can be reverted.
2020-11-24 20:38:17 +00:00
minybot
ea5a0d01d3 Avx512bw (#953) 2020-11-22 15:10:25 +00:00