83 Commits

Author SHA1 Message Date
Folkert de Vries
c861fbd303
use gcc 15 as the linker on loongarch 2025-08-02 14:26:47 +02:00
sayantn
ed2918988b
Bump versions in CI
- `clang-19` -> `clang-20` in ARM
 - `gcc-14.2` -> `gcc-14.3` in AArch64-BE
 - `gcc-14` ->`gcc-15` in LA64
 - `riscv-gnu-v2025.01.20` -> `riscv-gnu-v2025.07.03` in Risc-V 32
 - `wasmtime-v18.0.2` -> `wasmtime-v34.0.1`
2025-07-16 17:18:23 +05:30
sayantn
a2486a5138
Update Docker OS to Ubuntu-25.10 2025-07-16 17:18:22 +05:30
sayantn
d8a783dab5
Update SDE to v9.58.0 2025-07-16 17:18:16 +05:30
sayantn
b1ad50f1e0 Add riscv32 CI run 2025-05-06 16:10:50 +00:00
James Barford-Evans
45ee41c13a pr feedback - take the instruction count bump out of Dockerfile 2025-05-03 05:06:15 +00:00
James Barford-Evans
ef92b59242 fix - aarch64_be tests 2025-05-03 05:06:15 +00:00
sayantn
1f40595e88 Remove x86_64-unknown-linux-gnu run
+ Rename `x86_64-unknown-linux-gnu-emulated` run to `x86_64-unknown-linux-gnu`
2025-04-20 21:39:39 +00:00
sayantn
867fe30ba0 Add test-everything annotations to more archs to ensure test coverage, and some small changes to make CI pass
- Disable `vsx` tests for `ppc` and `ppc64`
 - Disable `tme` tests for `aarch64` and `aarch64_be`
 - Disable `frecipe` tests for `loongarch64`
 - Add `altivec` run for PPC32 (with `-C target-feature=+vsx` `qemu` gives a nasty error)
2025-04-20 21:39:39 +00:00
sayantn
db127cd717 Upgrade qemu CPU to max
- `ppc32` doesn't have `max` cpu model, so set it to `mpc8610`
2025-04-20 21:39:39 +00:00
sayantn
bc9e29d9be Replace cfg(stdarch_intel_sde) with STDARCH_TEST_SKIP_FUNCTION 2025-04-20 21:39:39 +00:00
sayantn
b3a7ba4607 Change test skipping logic a little, separate feature-based and function-based skipping 2025-04-20 21:39:39 +00:00
sayantn
c10b7f8a26 Upgrade CI OS versions
+ Bump ubuntu to 25.04, windows to `windows-2025`, macos-arm to `macos-15` and macos-x86 to `macos-15-large`
2025-04-20 21:39:39 +00:00
sayantn
97606212ea Update SDE to 9.53.0 2025-04-07 21:29:15 +00:00
Sayantan Chakraborty
ec55ab663f Update SDE mirror to ci-mirrors.rust-lang.org
This is to combat the spurious CI failures in emulated run. Also helps with updatability and compatibility - it will work even if Intel changes the link
2025-03-16 13:13:19 +00:00
James Barford-Evans
1d166d499e tidy up proposed Dockerfile & run.sh 2025-02-24 11:04:20 +00:00
James Barford-Evans
5c10dc38ab update clang to clang-19 2025-02-24 11:04:20 +00:00
James Barford-Evans
95d5d61842 Update CI to facilitate big endian at some point 2025-02-24 11:04:20 +00:00
Folkert de Vries
44afca6b2c add clang to the s390x DockerFile 2025-01-20 14:48:56 +00:00
sayantn
8229871c87 Upgrade Intel SDE 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
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
Gijs Burghoorn
8a23f93e8b Fix: #1464 for rv64 zk 2023-09-22 10:08:56 +08: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
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
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
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
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