Commit Graph

1913 Commits

Author SHA1 Message Date
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
Jubilee
28f43f9fe5 Fix another "stdimd" typo (#923) 2020-10-03 20:24:07 +01:00
Joshua Nelson
fe2a752e8d Remove cfg(not(doc)) from doctests (#922)
This was changed from `cfg(dox)` to `cfg(doc)` in
https://github.com/rust-lang/stdarch/pull/920. `cfg(doc)` is incorrect
here; rustdoc sets `cfg(doctest)`, not `cfg(doc)` in doc-tests.

However, this piece of code isn't needed anyway: this code will only
ever be run as a doc-test, so it will never be compiled in.
2020-10-01 14:35:08 +01:00
Joshua Nelson
7f7ca407ff Replace cfg(dox) with cfg(doc) (#920)
`dox` has to be set explicitly, but `doc` is set whenever rustdoc runs.
This simplifies the doc process to `cargo doc` and means bootstrap can
stop passing `--cfg dox` when documenting crates.
2020-09-29 23:57:19 +01:00
Dong Bo
eba81a5a50 remove redundant feature declaration const_fn_transmute in lib.rs (#919) 2020-09-27 13:44:10 +01:00
minybot
4fd4980774 Avx512f (#917) 2020-09-26 15:47:20 +01:00
Dong Bo
4eefe3f4ab Implement prefetch hints for aarch64 (#918)
Co-authored-by: Wang Maozhang <wangmaozhang@huawei.com>
2020-09-26 02:37:57 +01:00
Ivan Tham
268ce21837 Switch to intra-doc links (#914) 2020-09-21 13:59:03 +01:00
minybot
99f0dac00e Avx512f (#912) 2020-09-19 22:16:01 +01:00
Jubilee
c0d49aec61 Fix typo stdimd -> stdsimd (#915) 2020-09-18 23:22:12 +01:00
Thom Chiovoloni
6a0969d12f Optimize std_detect's caching (#908) 2020-09-17 02:43:25 +01:00
Camelid
5ce2b53048 Remove old TODO (#911) 2020-09-17 00:19:46 +01:00
minybot
4a08ae849b Avx512f (#907) 2020-09-15 18:04:18 +01:00
Jeff Muizelaar
7fab649ef2 Properly escape the '[' and ']' (#910) 2020-09-15 14:03:20 +01:00
Jeff Muizelaar
53ff7829b7 Add vminq_f32 and vmaxq_f32 (#905) 2020-09-14 07:24:27 +01:00
Jeff Muizelaar
394940b950 Add vcvtq_u32_f32 and vcvtq_s32_f32 (#902) 2020-09-13 21:11:32 +01:00
minybot
cf1adeba7a Avx512f (#901) 2020-09-11 22:26:39 +01:00
Jeff Muizelaar
d6e2546615 Add vgetq_lane_s32 (#903) 2020-09-10 18:58:03 +01:00
Jeff Muizelaar
5b3d026e21 Add vld1q_s32 and vld1q_u32 (#899) 2020-09-08 21:52:58 +01:00
Jeff Muizelaar
78c5f04228 Add vld1q_dup_f32 (#897) 2020-09-08 14:39:56 +01:00
jethrogb
e8a9e43f93 Re-land mm_extract_epi fix (#898)
This reverts commit 311d56cd91609c1c1c0370cbd2ece8e3048653a5.

Co-authored-by: Jethro Beekman <jethro@fortanix.com>
2020-09-08 14:38:43 +01:00
minybot
3f982e086d Avx512f (#896) 2020-09-08 12:59:57 +01:00
Jeff Muizelaar
51ca88d3a6 Add vld1q_f32 (#892)
The alignment requirements should match the pointer type. See
llvm commit 8beaba13b8a61697008854b82ed3b45377af9d9d
2020-09-07 21:50:55 +01:00
Jeff Muizelaar
6f97356f7f Reformat avx512 (#894) 2020-09-07 20:45:20 +01:00
Caleb Zulawski
63af5f371c Remove requirement on neon feature for arm (#893) 2020-09-07 01:47:04 +01:00
minybot
b11ca63e7b Avx512 (#891) 2020-09-04 23:06:48 +01:00
Mateusz Mikuła
c06b820716 Bye bye MMX! (#890) 2020-09-03 14:12:19 +01:00
minybot
3bbfade4c9 Avx512 (#887) 2020-08-29 01:55:49 +01:00
Daniel Liu
da3ba684ce Fixed typos in the docs for AVX2 subtraction (#886) 2020-08-28 15:42:58 +01:00
Pietro Albini
43006f68bd Remove cfg(not(bootstrap)) (#885) 2020-08-27 01:07:03 +01:00
minybot
1edc72e825 add some avx512f intrinsics(mask, rotation, shift) (#884) 2020-08-25 01:29:47 +01:00