Commit Graph

2464 Commits

Author SHA1 Message Date
Alex Crichton
10d166db0e Get stdsimd working in stage0 2018-12-17 13:39:55 -08:00
Alex Crichton
f8f878b61b Match clang for _mm512_abs_epi32 intrinsics
This commit updates stdsimd's codegen to match Clang's for the
`_mm512_abs_epi32` intrinsic (and masked versions) which doesn't use any
LLVM intrinsic calls, but rather raw SIMD operations.

These are built on top of the new `simd_select_bitmask` intrinsic
introduced recently to the compiler!
2018-12-15 10:03:14 +01:00
Alex Crichton
4424a25921 Disable Windows on Travis
The MinGW builds already don't work and the MSVC ones are now timing out
and have been slow otherise, so they're being removed to reduce spurious
failures on Travis.
2018-12-14 12:45:19 -08:00
Alex Crichton
ee0472520c Rerun rustfmt 2018-12-14 12:44:51 -08:00
Alex Crichton
dfc233c613 Remove usage of deprecated functions 2018-12-14 12:12:26 -08:00
Alex Crichton
24b3977f6a Run multithreaded quiet tests (#622)
We historically have run single-threaded verbose tests because we were
faulting all over the place due to bugs in rustc itself, primarily
around calling conventions and passing values around. Those bugs have
all since been fixed so we should be clear to run multithreaded tests
quietly on CI nowadays!

Closes #621
2018-12-14 13:28:23 -06:00
Alex Crichton
67f8ed0bf4 Start adding some avx512 intrinsics (#618)
First one is the quite simple `_mm512_abs_epi32` intrinsic!
2018-12-14 09:44:26 -06:00
Alex Crichton
cb921381c4 Rewrite simd128 and wasm support (#620)
* Update representation of `v128`
* Rename everything with new naming convention of underscores and no
  modules/impls
* Remove no longer necessary `wasm_simd128` feature
* Remove `#[target_feature]` attributes (use `#[cfg]` instead)
* Update `assert_instr` tests
* Update some implementations as LLVM has evolved
* Allow some more esoteric syntax in `#[assert_instr]`
* Adjust the safety of APIs where appropriate
* Remove macros in favor of hand-coded implementations
* Comment out the tests for now as there's no known runtime for these
  yet
2018-12-13 20:17:30 -06:00
Alex Crichton
591ce8fe6f Add retries to a number of downloads 2018-12-13 15:30:17 -08:00
Alex Crichton
5a45175fe1 Run rustfmt on stable, delete rustfmt.toml (#619)
This commit switches CI to running `rustfmt` on the stable compiler (as
rustfmt is stable now!). Additionally it deletes `rustfmt.toml` to
ensure we're following the same style as the rest of the ecosystem.
2018-12-13 17:26:22 -06:00
Alex Crichton
80a3099792 Another fix for wasm example 2018-12-12 13:02:58 -08:00
Alex Crichton
0bd85b5711 Rename the wasm atomic intrinsics (#617)
This commit renames the atomic intrinsics for wasm and tweaks them to
match the new naming convention of the memory intrinsics. Apart from
naming the `wake` intrinsic was renamed to `atomic_notify` (reflecting
the upstream rename) as well as updating to take/return unsigned
arguments, also reflecting the upstream spec changes.
2018-12-12 15:02:18 -06:00
Alex Crichton
0e1658b014 Fix wasm example 2018-12-12 12:41:24 -08:00
Alex Crichton
f5c276bf2b Add definitions for AVX-512 types on x86 (#616)
These aren't actually used anywhere yet, but this is likely a first step
in any world! Also note that these types are unstable currently.
2018-12-12 14:41:00 -06:00
Nikolai Vazquez
6624bad4d8 Derive Debug for CpuidResult (#615) 2018-12-12 10:44:41 -06:00
Greg V
02e0812d12 Add support for feature detection on FreeBSD/aarch64 2018-12-12 16:02:01 +01:00
Alex Crichton
6bea399766 Stabilize wasm32 memory-related intrinsics (#613)
This commit stabilizes the wasm32 memory-related intrinsics, as
specified in rust-lang/rust#56292. The old intrinsics were removed and
the current intrinsics were updated in place, but it's the last breaking
change!
2018-12-10 11:53:16 -08:00
myfreeweb
d39cc0f3cb Add AArch64 CRC32 intrinsics (#612) 2018-12-08 11:45:09 -05:00
gnzlbg
847985c8b8 reformat 2018-11-29 13:22:24 +01:00
Alex Crichton
2ededbb71f Fix build of documentation in libstd
Ensure we've always got a macro defined!

Closes #603
2018-11-29 13:21:32 +01:00
Alex Crichton
af99d5984c Fix a copy/paste error on wasm32 2018-11-28 10:38:01 +01:00
gnzlbg
900fa0261a Update x86 codegen 2018-11-27 12:09:33 +01:00
gnzlbg
4a582fe37e Remove all usages of mem::uninitialized 2018-11-22 15:13:10 +01:00
gnzlbg
47286d6c06 formatting 2018-11-22 13:45:03 +01:00
gnzlbg
339bc65b61 allow x86_64-pc-windows-gnu 2018-11-22 13:45:03 +01:00
Jethro Beekman
ab8e222e09 Fix build when used as a submodule 2018-11-19 19:24:01 +01:00
dependabot[bot]
7d16e6a216 Update rand requirement from 0.5 to 0.6
Updates the requirements on [rand](https://github.com/rust-random/rand) to permit the latest version.
- [Release notes](https://github.com/rust-random/rand/releases)
- [Changelog](https://github.com/rust-random/rand/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rust-random/rand/commits)

Signed-off-by: dependabot[bot] <support@dependabot.com>
2018-11-19 14:51:42 +01:00
Jethro Beekman
25c30821af Add SGX target 2018-11-19 13:01:17 +01:00
gnzlbg
271faf05b8 do not validate the argument to the __breakpoint intrinsic 2018-11-11 14:30:09 +01:00
Jorge Aparicio
3bf788b48d aarch64 support and range validation 2018-11-11 14:30:09 +01:00
Jorge Aparicio
c6b1b4281c fix typo 2018-11-11 14:30:09 +01:00
Jorge Aparicio
4abc2de5f4 fix assert_instr test 2018-11-11 14:30:09 +01:00
Jorge Aparicio
7e2442c884 remove TODO; add link to doc comment 2018-11-11 14:30:09 +01:00
Jorge Aparicio
8c14c223c1 add __breakpoint
this is an ARM compiler specific intrinsic which can be used to implement
CMSIS's __BKPT intrinsic
2018-11-11 14:30:09 +01:00
gnzlbg
c7134ba2bd support never type in stdsimd-verify and white-list ud2 intrinsic 2018-11-11 13:27:09 +01:00
gnzlbg
9ab2d41b8a remove extraneous import 2018-11-11 13:27:09 +01:00
Jorge Aparicio
b9c701e880 remove assert_instr from nvptx
it doesn't do the right thing
2018-11-11 13:27:09 +01:00
Jorge Aparicio
80067f6e56 add the trap instrinsic 2018-11-11 13:27:09 +01:00
gnzlbg
e375261a1c remove intel_sde feature 2018-11-11 12:37:44 +01:00
gnzlbg
25352920e1 silence shellcheck warning 2018-11-11 12:37:44 +01:00
gnzlbg
4a5a922fff rename x86_64-apple-darwin target 2018-11-11 12:37:44 +01:00
gnzlbg
a3acafad81 pass RUSTFLAGS to docker 2018-11-11 12:37:44 +01:00
gnzlbg
7cdaff44c7 switch mipsel-unknown-linux-gnu to musl 2018-11-11 12:37:44 +01:00
gnzlbg
b1782e71ef travis linux VM do not all support avx2 2018-11-11 12:37:44 +01:00
gnzlbg
a784814bb0 disable rustfmt wrap_comments 2018-11-11 12:37:44 +01:00
gnzlbg
8d1ae0234a add mips docker containers 2018-11-11 12:37:44 +01:00
gnzlbg
eee3d5e6f0 fix clippy and shellcheck issues 2018-11-11 12:37:44 +01:00
gnzlbg
f31a104c1c formatting 2018-11-11 12:37:44 +01:00
gnzlbg
51d9585ece cleanup travis and run.sh scripts 2018-11-11 12:37:44 +01:00
gnzlbg
c1aa9107c3 re-enable buildbots 2018-11-10 12:30:07 +01:00