28 Commits

Author SHA1 Message Date
Pietro Albini
9bb7286360 ci: switch mirrors to use our CDN
We recently added a CDN in front of our CI mirrors as it's faster and
cheaper for us. This switches libc's CI to use it instead of accessing
the underlying bucket directly.
2019-10-26 18:46:36 +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
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
Peter Jin
6681ec36b0 Fix nvptx64 libcore-only build on travis. 2019-02-13 23:07:00 +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
gnzlbg
e375261a1c remove intel_sde feature 2018-11-11 12:37:44 +01:00
gnzlbg
8d1ae0234a add mips docker containers 2018-11-11 12:37:44 +01: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
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
gnzlbg
e70ae5558f add CI for Android 2018-06-23 16:09:27 +02:00
gnzlbg
8ea9bc53f1 Initial PowerPC altivec and VSX support (#447)
* add some powerpc/powerpc64 altivec/vsx intrinsics

* temporarily make IntoBits/FromBits inline(always)

* include powerpc64 module; use inline(always) from/into_bits only on powerpc
2018-05-16 12:10:19 -05:00
gnzlbg
30962e58e6 fix errors/warnings from the stabilization of cfg_target_feature and target_feature (#432)
* fix build after stabilization of cfg_target_feature and target_feature

* fix doc tests

* fix spurious unused_attributes warning

* fix more unused attribute warnings

* More unnecessary target features

* Remove no longer needed trait imports

* Remove fixed upstream workarounds

* Fix parsing the #[assert_instr] macro

Following upstream proc_macro changes

* Fix form and parsing of #[simd_test]

* Don't use Cargo features for testing modes

Instead use RUSTFLAGS with `--cfg`. This'll help us be compatible with the
latest Cargo where a tweak to workspaces and features made the previous
invocations we had invalid.

* Don't thread RUSTFLAGS through docker

* Re-gate on x86 verification

Closes #411
2018-04-26 21:54:15 -05:00
gnzlbg
cae02b7fa0 update ubuntu version 2018-04-03 15:40:22 +02:00
gnzlbg
0239a1a0aa update intel SDE version 2018-04-03 15:40:22 +02:00
Alex Crichton
c5afde07d2
Migrate the i586::avx module to vendor types (#286)
Closes #285
2018-01-18 11:21:03 -06:00
gnzlbg
5ce0c13009 [ci] powerpc/powerpc64/powerpc64le (#237)
* [ci] add powerpc/powerpc64 build bots

* unbreak stdsimd builds for targets without run-time
2017-12-14 10:44:20 -06:00
gnzlbg
426621f021
Add FXSAVE/FXRSTOR, update Intel SDE, fix xsave tests (#205)
* [x86] add run-time detection for fxsr
* [x86] add i386 fxsr intrinsics: FXSAVE,FXRSTOR
* [x86_64] add x86_64 fxsr intrinsics: FXSAVE64/FXRSTOR64
* [x86-runtime]: document xsave detection further
* [x86] disable xsaves and xsaves64 tests
2017-11-22 15:25:15 +01:00
gnzlbg
ceef91aaba [arm] runtime-detection support 2017-11-17 17:41:23 +01:00
Alex Crichton
13bc6b8517 Add CI in Intel's instruction emulator (#113)
This commit adds a new builder on CI for running tests in Intel's own emulator
and also adds an assertion that on this emulator no tests are skipped due to
missing CPU features by accident.

Closes #92
2017-10-18 11:35:11 -04:00
Alex Crichton
7055f496c7 Add an i586 builder (#101)
The i586 targets on x86 are defined to be 32-bit and lacking in sse/sse2 unlike
the i686 target which has sse2 turned on by default. I was mostly curious what
would happen when turning on this target, and it turns out quite a few tests
failed!

Most of the tests here had to do with calling functions with ABI mismatches
where the callee wasn't `#[inline(always)]`. Various pieces have been updated
now and we should be passing all tests.

Only one instruction assertion ended up changing where the function generates a
different instruction with sse2 ambiently enabled and without it enabled.
2017-10-06 22:54:18 +00:00
Alex Crichton
5a8887b0c0 Add CI for more platforms
This commit adds CI for a few more targets:

* i686-unknown-linux-gnu
* arm-unknown-linux-gnueabihf
* armv7-unknown-linux-gnueabihf
* aarch64-unknown-linux-gnu

The CI here is structured around using a Docker container to set up a test
environment and then QEMU is used to actually execute code from these platforms.
QEMU's emulation actually makes it so we can continue to just use `cargo test`,
as processes can be spawned from QEMU like `objdump` and files can be read (for
libbacktrace). Ends up being a relatively seamless experience!

Note that a number of intrinsics were disabled on i686 because they were failing
tests, and otherwise a few ARM touch-ups were made to get tests passing.
2017-09-21 12:35:46 -07:00