Commit Graph

191 Commits

Author SHA1 Message Date
gnzlbg
dffdd66d81 Disable wasm32 simd128 tests 2019-07-14 15:29:19 +02:00
gnzlbg
d88e30a204 Add windows jobs 2019-07-14 15:29:19 +02:00
gnzlbg
f7a91c7a57 Add Azure Pipelines 2019-07-14 15:29:19 +02:00
gnzlbg
1253c1daed Enable warnings globally 2019-07-09 01:37:07 +02:00
gnzlbg
686b813f5d Update repo name 2019-07-09 01:37:07 +02:00
gnzlbg
127f13f10f Fix assert_instr tests 2019-07-08 22:58:19 +02:00
Luca Barbato
cb34d4bede Unbreak powerpc64 CI 2019-05-13 15:42:36 +02:00
Luca Barbato
90f87bf368 Unbreak powerpc64le CI 2019-05-13 15:42:36 +02:00
gnzlbg
d418d5e1f8 Update Intel SDE and enable RTM full emulation 2019-05-09 13:42:20 +02:00
Alex Crichton
7d992f5d16 Download node binaries 2019-04-25 17:19:51 +02:00
Alex Crichton
7215eb4613 Hook tests up to node.js
We can even test some of the functions!
2019-04-25 17:19:51 +02:00
gnzlbg
7d9e92335b Only test on 64-bit ppc 2019-04-17 14:21:15 +02:00
gnzlbg
28e2f594b8 Run build jobs with target-features on mips and ppc 2019-04-17 14:21:15 +02:00
Radovan Birdic
fd4cf83d42 Added msa jobs for mips*-gnu* targets 2019-04-09 09:43:17 +02:00
Lokathor
b0771647a8 Revert the regression, add a GBA target to avoid this again 2019-03-18 08:57:03 +01:00
Mateusz Mikuła
8e15fba40a Unify PPC Dockerfiles 2019-02-23 22:19:47 +01:00
Mateusz Mikuła
2148ed5db1 Upgrade EOL docker images to Ubuntu 18.04 2019-02-23 22:19:47 +01:00
gnzlbg
c91584d241 Make core_arch compatible with Rust2015 and Rust2018 2019-02-23 01:14:07 +01:00
gnzlbg
a177055824 Test Rust2018 builds 2019-02-23 01:14:07 +01:00
gnzlbg
e56de7344f Fix wasm32 build job 2019-02-14 03:45:57 +01:00
Peter Jin
6681ec36b0 Fix nvptx64 libcore-only build on travis. 2019-02-13 23:07:00 +01:00
gnzlbg
6affc41386 Use builtin nvptx64-nvidia-cuda target 2019-02-13 22:00:20 +01:00
gnzlbg
333784b5ef Fix libcore build 2019-02-12 01:02:07 +01:00
gnzlbg
ff129bff05 Add cargo features to disable usage of file I/O and dlsym in std_detect 2019-02-09 11:47:38 +01:00
Alex Crichton
cf738b0d36 Attempt to fix tests on master (#662)
* Attempt to fix tests on master

* Make all doctests use items from the real `std` rather than this
  crate, it's just easier
* Handle debuginfo weirdness by flagging functions as `no_mangle` that
  we're looking for instructions within.

* Handle double undescores in symbol names
2019-01-30 15:11:35 -08:00
Peter Jin
2c924adce6 Fixes to the nvptx target spec json: disable merge-functions, (#653)
and set the correct datalayout string.
2019-01-25 12:51:13 -07:00
gnzlbg
1d1266b185 Readme from std_detect 2019-01-22 18:49:24 +01:00
gnzlbg
8bfa74b5e7 Enable passing allow_failure builds (#644) 2019-01-22 08:57:17 -08:00
gnzlbg
11c624e488 Refactor stdsimd
This commit:

* renames `coresimd` to `core_arch` and `stdsimd` to `std_detect`

* `std_detect` does no longer depend on `core_arch` - it is a freestanding
  `no_std` library that only depends on `core` - it is renamed to `std_detect`

* moves the top-level coresimd and stdsimd directories into the appropriate
  crates/... directories - this simplifies creating crate.io releases of these crates

* moves the top-level `coresimd` and `stdsimd` sub-directories into their
  corresponding crates in `crates/{core_arch, std_detect}`.
2019-01-22 17:04:25 +01:00
gnzlbg
c4983c50d2 Fix android build jobs 2019-01-21 21:37:45 +01:00
Peter Jin
d30c29e926 Add a build libcore-only nvptx64 test (using xargo).
This also disables the "integer_atomics" feature on nvptx/nvptx64.
2018-12-29 12:02:16 +01: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
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
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
a3acafad81 pass RUSTFLAGS to docker 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
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
51d9585ece cleanup travis and run.sh scripts 2018-11-11 12:37:44 +01:00
Kaz Wesley
7fda54f9bc fix _mm_castsi128_pd and _mm_castpd_si128 impls (#581)
* fix _mm_castsi128_pd and _mm_castpd_si128 impls

The _mm_castX_Y SSE intrinsics are "reinterpreting" casts; LLVM's
simd_cast is a "converting" cast. Replace simd_cast with mem::transmute.
Fixes #55249

* Temporarily pin CI

* Fix i686 segfaults

* Fix wasm CI

Output of `wasm2wat` has changed!

* Fix AppVeyor with an older nightly
2018-10-23 18:10:54 +02:00
Alex Crichton
31faffa592 Remove lld-shim.rs no longer needed on wasm
Bugs are fixed upstream!
2018-09-17 11:32:10 +02:00
Alex Crichton
c1965d33a8 Rename wasm32 memory intrinsics (#560)
The official name of the memory intrinsics has changed to `memory.size` and
`memory.grow`, so let's reflect that with our naming as well! Additionally they
have an argument of which memory to operate on with LLVM and must always be zero
currently.
2018-09-06 15:34:05 -07:00
gnzlbg
3daebfbc0b Add wasm32 simd128 intrinsics (#549)
* Add wasm32 simd128 intrinsics

* test wasm32 simd128 instructions

* Run wasm tests like all other tests

* use modules instead of types to access wasm simd128 interpretations

* generate docs for wasm32-unknown-unknown

* fix typo

* Enable #[assert_instr] on wasm32

* Shell out to Node's `execSync` to execute `wasm2wat` over our wasm file
* Parse the wasm file line-by-line, looking for various function markers and
  such
* Use the `elem` section to build a function pointer table, allowing us to map
  exactly from function pointer to a function
* Avoid losing debug info (the names section) in release mode by stripping
  `--strip-debug` from `rust-lld`.

* remove exclude list from Cargo.toml

* fix assert_instr for non-wasm targets

* re-format assert-instr changes

* add crate that uses assert_instr

* Fix instructions having extra quotes

* Add assert_instr for wasm memory intrinsics

* Remove hacks for git wasm-bindgen

* add wasm_simd128 feature

* make wasm32 build correctly

* run simd128 tests on ci

* remove wasm-assert-instr-tests
2018-08-15 09:20:33 -07:00
Alex Crichton
f1e4ebd8de Fix compile of stdsimd on powerpc with no flags (#531)
We're running into issues updating with rust-lang/rust#52535, so we need to get
this working without `RUSTFLAGS` enabling the `altivec` feature
2018-07-20 11:54:33 -05:00
Luca Barbato
8d8d81aa35 Drop the not really supported PowerPC 32bit target
The LLVM backend has known issues and even for them the main
development target is PowerPC 64bit Little Endian.
2018-07-11 15:41:07 +02:00
Luca Barbato
77243a10a1 Check the documentation for the supported powerpc64
PowerPC 64bit Little Endian is the main development target currently.
2018-07-11 15:41:07 +02:00
Luca Barbato
409f648047 Make the dox.sh more verbose
Make easier spot where the errors happen.
2018-07-11 15:41:07 +02:00
gnzlbg
d5cf70cac5 [s390x] add CI
This commit tests `s390x-unknown-linux-gnu` on CI using `qemu-user`.

Closes #499 .
2018-06-26 14:54:07 +02:00