207 Commits

Author SHA1 Message Date
sayantn
9fa56b9563 Disable armv7-unknown-linux-gnueabihf dox.sh CI temporarily 2024-12-21 10:12:32 +00:00
sayantn
846c283131 Refactor dox.sh, add loongarch64 and nvptx64 2024-12-21 10:12:32 +00:00
sayantn
8229871c87 Upgrade Intel SDE 2024-12-21 10:12:32 +00:00
sayantn
94a889d77d Remove gba.json as it was unused 2024-12-21 10:12:32 +00:00
sayantn
fcf05b8776 Re-enable the disabled PPC tests, Upgrade CPU 2024-12-21 10:12:32 +00:00
Ralf Jung
889a29248b move wasm comment to a better place 2024-11-10 21:49:11 +08:00
Ralf Jung
2d925a2908 remove test --skip that references a long-closed issue 2024-11-10 21:49:11 +08:00
David Wood
aaad388be1 ci: add debug testing
Previous changes in Rust and LLVM have caused stdarch to be broken in
debug, so add testing to ensure that this is caught.
2024-11-07 06:08:33 +08:00
WANG Rui
b08aea9ec0 ci: Use distro toolchain for loongarch64-unknown-linux-gnu 2024-11-03 01:27:20 +08:00
Sayantan Chakraborty
d9430d094b Upgrade Intel SDE to v9.44
Re-enabled `assert_instr`
2024-09-22 18:19:47 -04:00
Eduardo Sánchez Muñoz
c103c015a8 Add loongarch64-unknown-linux-gnu to CI 2024-08-19 16:38:59 +01:00
sayantn
ed1df99f03 Added support for AMD verification
Added a custom cpuid file for sde, which enables SSE4a, XOP, TBM and VP2INTERSECT. Fixed `xsave` tests
2024-06-30 21:45:56 +02:00
sayantn
fd948ee99d Updates SDE
Updated SDE to v9.33.0
Disabled `assert-instr` in emulated run
2024-06-30 21:45:56 +02:00
sayantn
d7ea407a28 Fixing CI
Fixed x86_64-apple-darwin freezing.
Bump all docker to Ubuntu-24.04 (except for emulated and armv7)
2024-06-29 19:16:48 +02:00
Alex Crichton
3f29231064 Update to wasm32-wasip1-based testing
This commit is a replacement for #1417 now that rust-lang/rust#12046 has
landed. While I was here I went ahead and updated the Wasmtime used in
CI and adapted its command line as well.
2024-03-05 21:50:42 +00:00
Amanieu d'Antras
3ac4ba6670 Revert "Work around CI failures for the ARM target"
This reverts commit 5a748ec5fabcaee29351ac3c90eee4f3e16964e7.
2023-11-30 08:20:47 +00:00
Amanieu d'Antras
4fe088329c Work around CI failures for the ARM target
These seem to have been introduced by recent LLVM changes.

* The instruction limit for vld*/vst* has been raised. This is not a
significant issue, it is only used for testing.
* vld*/vst* instructions are generated with overly strict alignments:
https://github.com/rust-lang/stdarch/issues/1217
* vtbl/vtbx instrinsics are failing intrinsic-test for unknown reasons.
2023-11-30 07:48:09 +00:00
Jacob Bramley
3324de54c2 Don't pass target-features to host tests.
This avoids a flood of warnings when testing the
armv7-unknown-linux-gnueabihf target.

Under this target, we would pass -Ctarget-features=+neon when building
intrinsic-test, but it is compiled for the host (and this tool doesn't
need Neon even if the host _is_ Armv7).

This also sets --target when running the 'hex' example, since that
seems more appropriate than always building it for the host.
2023-11-01 14:33:48 +01:00
Eduardo Sánchez Muñoz
69ff2e3a37 Explicitly disable SSE3 for x86_64 2023-10-01 17:57:00 +01:00
Gijs Burghoorn
8a23f93e8b Fix: #1464 for rv64 zk 2023-09-22 10:08:56 +08:00
Gijs Burghoorn
dd2d469c8b Impr: Add a usage check for the ci/run-docker.sh script 2023-09-01 21:43:29 +02:00
Gijs Burghoorn
f4ee8f0282 Fix: Testing for RISC-V Zb intrinsics 2023-09-01 18:32:40 +02:00
Gijs Burghoorn
d1229d008b Fix: Add proper flags for RISCV64 ci 2023-08-31 23:12:32 +02:00
Amanieu d'Antras
b6e6168951 Remove MIPS from CI
These targets have been removed from rustup, see https://github.com/rust-lang/compiler-team/issues/648.
2023-07-29 22:38:57 +01:00
Amanieu d'Antras
55ef711226 Disable vld2q_dup_f32 test in CI
This is broken due to rust-lang/rust#112460.
2023-06-20 18:20:19 +02:00
Adam Gemmell
0125fa17c8 Remove ACLE submodule
This involves moving from the ACLE intrinsic definitions (which aren't
available for SVE at this point) to a JSON file. This was derived from
ARM's documentation[^1], and then relicensed under `MIT OR Apache-2.0` for
use in this repository.

[^1]: https://developer.arm.com/architectures/instruction-sets/intrinsics
2023-05-15 17:34:11 +02:00
Luca Barbato
fa4e478dbe Skip vec_expte tests since they trip qemu 2023-04-24 19:02:22 -07:00
Taiki Endo
24e69958b6 ci: Build std_detect on non-Linux & non-x86 targets 2023-04-24 12:50:27 -07:00
Alex Crichton
9e12a75abd Fix PATH reference to Wasmtime version 2023-04-21 06:40:39 -07:00
Alex Crichton
c70b1eb28c Use Wasmtime 8.0.0 on CI
This moves from the "dev" release of Wasmtime, used for its relaxed-simd
support, to an official release of Wasmtime just made which is the first
with relaxed-simd support.
2023-04-21 06:40:39 -07:00
Alex Crichton
49b6f1d2e9 Don't try to be clever with arch 2023-03-19 16:08:18 +01:00
Alex Crichton
be861579df wasm32: Add relaxed simd instructions
This commit adds intrinsics to the `wasm32` to support the [relaxed SIMD
proposal][proposal]. These are added with the same naming conventions of
existing simd-related intrinsics for wasm which is similar to the
instruction name but matches sign in a few places.

This additionally updates Wasmtime to execute tests with support for the
relaxed simd proposal. No release has been made yet so this uses the
`dev` release, and I can make a PR in April when the support in Wasmtime
has been released to an official release. The `wasmprinter` crate is
also updated to understand these instruction opcodes as well.

Documentation has been added for all intrinsics, but tests have only
been added for some of them so far. I hope to follow-up later with more
tests.

[proposal]: https://github.com/WebAssembly/relaxed-simd
2023-03-19 16:08:18 +01:00
Amanieu d'Antras
4273e3cf8b
Remove Android CI (#1346) 2022-10-25 16:57:03 +01:00
Chris Wailes
13d20910b7
Update the Android Docker files to Ubuntu 22.04 (#1338) 2022-10-04 09:19:36 +01:00
Amanieu d'Antras
7850f6e701 Update ubuntu 21.10 docker containers to 22.04
Ubuntu 22.10 is EOL.
2022-08-12 17:26:16 +02:00
Urgau
e4d28b2c5c
Remove useless conditional compilation (#1308) 2022-06-10 00:14:17 +01:00
Frank Steffahn
df24e2a0f8 Fix a bunch of typos 2021-12-14 10:17:43 -08:00
Amanieu d'Antras
39849dd6c6
Import the asm! macro from core::arch (#1265) 2021-12-09 23:50:37 +00:00
Amanieu d'Antras
937978eeef
Update the intrinsic checker tool (#1258) 2021-12-04 13:03:30 +00:00
Jamie Cunliffe
b04e740f24
Handle intrinsics with constraints in the test tool. (#1237) 2021-11-05 01:47:31 +00:00
Hans Kratz
26cce19427
Make dedup guard optional (#1215) 2021-09-20 17:19:05 +01:00
Jamie Cunliffe
bd0e352338
Intrinsic test tool to compare neon intrinsics with C (#1170) 2021-09-09 19:16:45 +01:00
Alex Crichton
b5c437e119 Add tests for remaining wasm simd intrinsics
Wasmtime now supports all of the simd proposal, so this commit
uncomments instruction assertions and tests, while also adding more
tests, for all wasm simd instructions. This means that all wasm simd
instructions should be tested and have running instruction assertions,
except for `i64x2.abs`, which will require an LLVM upgrade to LLVM 13.
2021-08-03 00:46:38 +01:00
Alex Crichton
c6356546c0
Updates for wasm simd support (#1110)
* Uncomment some i64-related instruction assertions now that LLVM
  supports the opcodes.
* Fix the codegen for `{i,u}32x4_trunc_sat_f32x4`. This was originally
  introduced using `simd_cast` but that inherits LLVM's UB related to
  float-to-integer casts out of bounds. Since the original inception of
  these intrinsics in LLVM dedicated intrinsics for the wasm
  instructions have been added, so this swithces the implementation to
  using those.
* Uncomment `f64x2_convert_low_i32x4` instruction assertion and add a
  test now that this is implemented in Wasmtime.
2021-04-07 17:05:34 +01:00
Alex Crichton
60e8d7766b Unconditionally expose wasm atomic intrinsics
While they're not very useful in single-threaded mode this makes them
more useful for building libraries because you don't have to always
recompile the standard library to get the desired effect. Additionally
it helps us enable tests on CI for these functions, since the
instructions will now validate without shared memory (thankfully!).
2021-03-21 09:24:39 +00:00
Alex Crichton
8ed0d3cbd5 More wasm SIMD updates
* Sync with the latest LLVM which has a few new intrinsic names
* Move explicit tests back to `assert_instr` since `assert_instr` now
  supports specifying const-generic arguments inline.
* Enable tests where wasmtime implements the instruction as well as LLVM.
* Ensure there are tests for all functions that can be tested at this
  time (those that aren't unimplemented in wasmtime).

There's still a number of `assert_instr` tests that are commented out.
These are either because they're unimplemented in wasmtime at the moment
or LLVM doesn't have an implementation for the instruction yet.
2021-03-21 09:24:39 +00:00
Alex Crichton
e35da555f8
Update WebAssembly SIMD/Atomics (#1073) 2021-03-11 23:30:30 +00:00
Daniel Liu
275bd33492
Enable WASM CI (#1006) 2021-02-14 12:41:58 +00:00
kangshan1157
936e1add97
Implement avx512bf16 intrinsics (#998) 2021-02-10 23:29:27 +00:00
Makoto Kato
e020a85ff0
Run CI for i686-pc-windows-msvc (#934) 2020-10-25 01:32:27 +01:00