1611 Commits

Author SHA1 Message Date
Luca Barbato
7b080559bb Add vec_mergel and vec_mergeh 2023-05-12 11:18:18 +01:00
Alan Somers
1dcba9edde Implement _mm256_i32scatter_epi64 from AVX512VL 2023-05-08 07:20:40 +01:00
Luca Barbato
bbc8575e9b Add vec_cts and vec_ctu 2023-04-27 13:08:05 -07:00
Luca Barbato
dc115cabbb Add vec_cft 2023-04-27 13:08:05 -07:00
Luca Barbato
fa4e478dbe Skip vec_expte tests since they trip qemu 2023-04-24 19:02:22 -07:00
Luca Barbato
94362b595c Split vec_lde tests 2023-04-24 19:02:22 -07:00
Luca Barbato
333d986341 Add vec_ldl 2023-04-24 19:02:22 -07:00
Luca Barbato
9bf9dd4e4d Add vec_lde 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
Taiki Endo
38c1a16190 std_detect: Do not use libc::getauxval on 32-bit Android
libc crate currently doesn't provide it.
2023-04-24 12:50:27 -07:00
Luca Barbato
e50d4d54b5 Remove the altivec and vsx guards
As mentioned in #1402.
2023-04-23 11:52:27 -07:00
Luca Barbato
cdfd5a2721 Add vec_or, vec_xor, vec_nor 2023-04-22 16:03:22 -07:00
Urgau
5d4192a9d6 Remove useless drop (clippy drop_ref and drop_copy lint) 2023-04-21 06:41:55 -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
Jeroen Van Der Donckt
9778c39444 docs: fix unfinished vcgt documentation 2023-04-15 08:12:01 -07:00
Luca Barbato
416fb2e11b Add vec_any_out 2023-04-13 01:54:42 +01:00
Luca Barbato
b27fcf7ba3 Add vec_any_nan, vec_any_nge, vec_any_ngt, vec_any_nle, vec_any_nlt and vec_any_numeric 2023-04-13 01:54:42 +01:00
Luca Barbato
6e78450cb5 Add vec_all_numeric 2023-04-13 01:54:42 +01:00
Luca Barbato
3e90cd9b62 Add vec_all_nle and vec_all_nlt 2023-04-13 01:54:42 +01:00
Luca Barbato
e85dff6489 Add vec_all_nge and vec_all_ngt 2023-04-13 01:54:42 +01:00
Luca Barbato
3b83d68b9a Add vec_all_nan, vec_all_ne and vec_any_ne 2023-04-13 01:54:42 +01:00
Luca Barbato
e17e7243b1 Add vec_all_lt and vec_any_lt 2023-04-13 01:54:42 +01:00
Luca Barbato
8a97475c66 Add vec_all_le and vec_any_le 2023-04-13 01:54:42 +01:00
Luca Barbato
911ee09056 Add vec_all_in 2023-04-13 01:54:42 +01:00
Luca Barbato
0fa72df240 Add vec_all_gt and vec_any_gt 2023-04-13 01:54:42 +01:00
Luca Barbato
24cc2fdb85 Add vec_all_ge and vec_any_ge 2023-04-13 01:54:42 +01:00
Luca Barbato
c587804586 Add vec_all_eq and vec_any_eq 2023-04-13 01:54:42 +01:00
Luca Barbato
2749cfe2ff Move the altivec macros in a stand alone files 2023-04-13 01:54:42 +01:00
Kisaragi
600533dbdc x86: remove unnecessary parens 2023-04-12 21:41:28 +01:00
Taiki Endo
ad497deab2 Fix FreeBSD CI failure
This also removes the workaround for the fixed rustup bug.
2023-04-12 18:00:04 +01:00
Jubilee Young
adc506ddaa Clarify undefined can still mean init
These intrinsics actually are zeroing, so we should be upfront
that these still return a valid value in reality. At most,
we might in the future want to use a "freezing" semantics here.
In any case, they are definitely not returning MaybeUninit,
or any other possibly-poison value.
2023-04-11 13:17:42 +01:00
Amanieu d'Antras
c66be336c6 Fix CI 2023-04-08 21:41:40 +01:00
Amanieu d'Antras
acee6b804a stdarch-test: Ignore {evex} prefix emitted by recent objdump 2023-04-08 21:41:40 +01:00
Taiki Endo
221eb88986 std_detect: Remove support for arm crypto target feature 2023-04-01 18:42:27 +01:00
Taiki Endo
1ec5981759 core_arch: Remove uses of arm crypto target feature 2023-04-01 18:42:27 +01:00
Taiki Endo
1661f06cd0 std_detect: Always avoid dlsym on *-android* targets 2023-04-01 18:41:20 +01:00
Amanieu d'Antras
fbed7945aa Update intrinsic tests for LLVM 16 2023-03-30 15:43:03 +01:00
Luca Barbato
a331bc9512 Fix the powerpc feature guards
Now the documentation should be generated correctly and vsx isn't always
present.
2023-03-25 23:05:16 +01:00
Luca Barbato
0af4d8a307 std_detect: Unbreak auxv_from_file
Discovered on powerpc64 where it crashes since it has more entries.
2023-03-25 00:33:58 +01:00
Amanieu d'Antras
fff3c73f11 Mark more arm_shared intrinsics and types as stable in docs
This is a follow-up to #1345 where these appeared as unstable in the
standard library docs because they are only stabilized for ARM. They
were missed in the original PR.
2023-03-24 23:27:24 +01:00
Luca Barbato
e82aebe756 core_arch: Unbreak powerpc64 tests 2023-03-24 23:27:08 +01:00
Nilstrieb
e41918d76c Allow internal_features 2023-03-19 21:31:00 +01:00
Taiki Endo
fe04ca5624 core_arch: Update cmpxchg16b docs and fix feature name
- Fix a typo in the feature name
- Update docs to reflect changes in behavior on invalid ordering in
  stabilized PR: invalid ordering is no longer UB, just causes panic as
  well as compare_exchange
2023-03-19 16:09:29 +01: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
Chase Wilson
1f0116fea9 Implemented is_x86_feature_detected!(ermsb) 2023-03-12 20:20:06 +01:00
Kathryn Long
a63313212b Stabilize f16c intrinsics 2023-03-12 20:19:54 +01:00
Kathryn Long
1515d52d17 add f16c to x86 detection test 2023-03-12 20:19:54 +01:00
Amanieu d'Antras
644e8f8900 Replace associated const hacks with inline consts
Fixes #1368
2023-03-05 18:00:21 +01:00