Commit Graph

1793 Commits

Author SHA1 Message Date
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
Makoto Kato
fd99d973dc Add reamained vmax and vmin via auto-generated code (#956) 2020-11-22 14:07:22 +00:00
DevJPM
f9d32c56e2 Add VAES intrinsics (#942) 2020-11-22 13:50:18 +00:00
Makoto Kato
e799627ed7 Add vrev* instructions. (#950) 2020-11-16 06:28:03 +00:00
Adam Hillier
7ebfd93bb6 Add most single-register load Arm intrinsics. (#941) 2020-11-07 23:22:07 +00:00
minybot
7bb92b7809 Avx512f (#933) 2020-11-07 00:14:05 +00:00
Adam Hillier
c6ad1cf58b Add more addition Arm intrinsics (#939) 2020-11-06 21:56:51 +00:00
Makoto Kato
9a4ff9fe79 Use --no-show-raw-insn to make disassemble parser simple. (#948) 2020-11-06 21:56:36 +00:00
Nemo157
bb27bb7f64 Replace <c> element by markdown inline code (#946) 2020-11-04 23:51:49 +00:00
Joseph Richey
e254082775 Use black_box instead of llvm_asm (#944)
The implementation is the same (where possible), and it unblocks #904

Signed-off-by: Joe Richey <joerichey@google.com>
2020-11-04 17:20:13 +00:00
Aaron Hill
dd11a4b07b Remove trailing semicolons from several macro definitions (#938)
The x86 code contains several macros that following this pattern:

```rust
macro_rules! expr {
    () => { true; }
}

fn bar(_val: bool) {}

fn main() {
    bar(expr!());
}
```

Here, we have a macro `expr!` that expands to tokens sequence with
a trailing semicolon.

Currently, the trailing semicolon is ignored when the macro is invoked
in expression position, due to https://github.com/rust-lang/rust/issues/33953
If this behavior is changed, then a large number of macro invocations in
`stdarch` will stop compiling.

Regardless of whether nor not this change is made, removing the
semicolon more clearly expresses the intent of the code - these macros
are designed to expand to the result of a function call, not ignore its
results (as the `;` would suggest).
2020-11-02 00:54:21 +00:00
Joshua Nelson
33355e69c2 Fix some clippy lints (#937) 2020-11-02 00:53:39 +00:00
Adam Hillier
56e4b3dd1f Add shift-and-insert Arm intrinsics. (#936) 2020-11-02 00:44:25 +00:00
Adam Hillier
8f8df056ca Add popcount Arm intrinsics. (#935) 2020-10-26 18:21:24 +00:00
Makoto Kato
e020a85ff0 Run CI for i686-pc-windows-msvc (#934) 2020-10-25 01:32:27 +01:00
Makoto Kato
ddecf15383 Support ARM crypto extension on A32/T32 (#929) 2020-10-20 05:07:31 +01:00
minybot
ae707fa29d Avx512f (#927) 2020-10-17 01:14:41 +01:00
Guillaume Gomez
50c46fa268 Fix URLs (#928) 2020-10-14 20:46:52 +01:00
minybot
9090eec2f7 Avx512f (#921) 2020-10-10 17:14:15 +01:00
Ralf Jung
6c6f5e6b87 replace some unions by transmute and make the rest repr(C) (#925) 2020-10-06 18:18:15 +01:00