about summary refs log tree commit diff
path: root/tests/ui/simd
AgeCommit message (Collapse)AuthorLines
2025-01-23tests: use `needs-subprocess` instead of `ignore-{wasm32,emscripten,sgx}`许杰友 Jieyou Xu (Joe)-2/+1
2025-01-07Update tests.Mara Bos-1/+1
2024-12-03Rollup merge of #133395 - calebzulawski:simd_relaxed_fma, r=workingjubileeMatthias Krüger-0/+4
Add simd_relaxed_fma intrinsic Adds compiler support for https://github.com/rust-lang/portable-simd/issues/387#issuecomment-2337169786 r? `@workingjubilee` cc `@RalfJung` is this kind of nondeterminism a problem for miri/opsem?
2024-11-26tests: remove `//@ pretty-expanded` usages许杰友 Jieyou Xu (Joe)-5/+3
Done with ```bash sd '//@ pretty-expanded.*\n' '' tests/ui/**/*.rs ``` and ``` sd '//@pretty-expanded.*\n' '' tests/ui/**/*.rs ```
2024-11-23Add simd_relaxed_fma intrinsicCaleb Zulawski-0/+4
2024-09-18Update the minimum external LLVM to 18Josh Stone-2/+1
2024-09-14simd_shuffle: require index argument to be a vectorRalf Jung-111/+128
2024-09-09Ban non-array SIMDScott McMurray-380/+416
2024-08-13simd_shuffle intrinsic: allow argument to be passed as vector (not just as ↵Ralf Jung-2/+25
array)
2024-07-24Do not use question as labelEsteban Küber-2/+2
We don't want to have questions in the diagnostic output. Instead, we use wording that communicates uncertainty, like "might": ``` error[E0432]: unresolved import `spam` --> $DIR/import-from-missing-star-3.rs:2:9 | LL | use spam::*; | ^^^^ you might be missing crate `spam` | = help: consider adding `extern crate spam` to use the `spam` crate ```
2024-07-17Split part of `adt_const_params` into `unsized_const_params`Boxy-33/+31
2024-07-05Auto merge of #126171 - RalfJung:simd_bitmask_multibyte, r=workingjubileebors-12/+123
simd_bitmask intrinsic: add a non-power-of-2 multi-byte example r? `@calebzulawski` `@workingjubilee`
2024-07-01fix simd_bitmask return type for non-power-of-two inputs, and add testsRalf Jung-12/+123
2024-06-24test: dont optimize to invalid bitcastsJubilee Young-0/+44
2024-06-02Rollup merge of #125311 - calebzulawski:repr-packed-simd-intrinsics, ↵Jubilee-15/+6
r=workingjubilee Make repr(packed) vectors work with SIMD intrinsics In #117116 I fixed `#[repr(packed, simd)]` by doing the expected thing and removing padding from the layout. This should be the last step in providing a solution to rust-lang/portable-simd#319
2024-06-01Improve documentationCaleb Zulawski-2/+3
2024-05-20Make repr(packed) vectors work with SIMD intrinsicsCaleb Zulawski-14/+4
2024-05-18compiler: add simd_ctpop intrinsicJubilee Young-21/+38
2024-04-24Fix tests and blessGary Guo-2/+1
2024-04-03rename `expose_addr` to `expose_provenance`joboet-2/+2
2024-04-02Rollup merge of #122935 - RalfJung:with-exposed-provenance, r=AmanieuJacob Pratt-3/+3
rename ptr::from_exposed_addr -> ptr::with_exposed_provenance As discussed on [Zulip](https://rust-lang.zulipchat.com/#narrow/stream/136281-t-opsem/topic/To.20expose.20or.20not.20to.20expose/near/427757066). The old name, `from_exposed_addr`, makes little sense as it's not the address that is exposed, it's the provenance. (`ptr.expose_addr()` stays unchanged as we haven't found a better option yet. The intended interpretation is "expose the provenance and return the address".) The new name nicely matches `ptr::without_provenance`.
2024-03-23also rename the SIMD intrinsicRalf Jung-2/+2
2024-03-23rename ptr::from_exposed_addr -> ptr::with_exposed_provenanceRalf Jung-2/+2
2024-03-21Provide structured suggestion for unconstrained generic constantEsteban Küber-2/+4
``` error: unconstrained generic constant --> $DIR/const-argument-if-length.rs:18:10 | LL | pad: [u8; is_zst::<T>()], | ^^^^^^^^^^^^^^^^^^^ | help: try adding a `where` bound | LL | pub struct AtLeastByte<T: ?Sized> where [(); is_zst::<T>()]: { | ++++++++++++++++++++++++++ ``` Detect when the constant expression isn't `usize` and suggest casting: ``` error: unconstrained generic constant --> f300.rs:6:10 | 6 | bb::<{!N}>(); | ^^^^ -Ztrack-diagnostics: created at compiler/rustc_trait_selection/src/traits/error_reporting/type_err_ctxt_ext.rs:3539:36 | help: try adding a `where` bound | 5 | fn b<const N: bool>() where [(); {!N} as usize]: { | ++++++++++++++++++++++++++ ``` Fix #122395.
2024-03-14preserve span when evaluating mir::ConstOperandRalf Jung-0/+6
2024-03-14Rollup merge of #122287 - RalfJung:simd-static-assert, r=pnkfelixMatthias Krüger-0/+41
add test ensuring simd codegen checks don't run when a static assertion failed stdarch relies on this to ensure that SIMD indices are in bounds. I would love to know why this works, but I can't figure out where codegen decides to not codegen a function if a required-const does not evaluate. `@oli-obk` `@bjorn3` do you have any idea?
2024-03-11Update test directives for `wasm32-wasip1`Alex Crichton-1/+1
* The WASI targets deal with the `main` symbol a bit differently than native so some `codegen` and `assembly` tests have been ignored. * All `ignore-emscripten` directives have been updated to `ignore-wasm32` to be more clear that all wasm targets are ignored and it's not just Emscripten. * Most `ignore-wasm32-bare` directives are now gone. * Some ignore directives for wasm were switched to `needs-unwind` instead. * Many `ignore-wasm32*` directives are removed as the tests work with WASI as opposed to `wasm32-unknown-unknown`.
2024-03-10add test ensuring simd codegen checks don't run when a static assertion failedRalf Jung-0/+41
2024-02-25fix use of platform_intrinsics in testsRalf Jung-89/+86
2024-02-23check that simd_insert/extract indices are in-boundsRalf Jung-22/+35
2024-02-22Auto merge of #121225 - RalfJung:simd-extract-insert-const-idx, ↵bors-33/+8
r=oli-obk,Amanieu require simd_insert, simd_extract indices to be constants As discussed in https://github.com/rust-lang/rust/issues/77477 (see in particular [here](https://github.com/rust-lang/rust/issues/77477#issuecomment-703149102)). This PR doesn't touch codegen yet -- the first step is to ensure that the indices are always constants; the second step is to then make use of this fact in backends. Blocked on https://github.com/rust-lang/stdarch/pull/1530 propagating to the rustc repo.
2024-02-21remove simd_reduce_{min,max}_nanlessRalf Jung-6/+0
2024-02-20update testsRalf Jung-33/+8
2024-02-16[AUTO-GENERATED] Migrate ui tests from `//` to `//@` directives许杰友 Jieyou Xu (Joe)-94/+94
2024-02-14Continue compilation after check_mod_type_wf errorsOli Scherer-2/+27
2024-01-05Remove revisions for THIR unsafeckMatthew Jasper-2/+0
This is to make the diff when stabilizing it easier to review.
2023-12-11Auto merge of #117116 - calebzulawski:repr-simd-packed, r=workingjubileebors-0/+59
Implement repr(packed) for repr(simd) This allows creating vectors with non-power-of-2 lengths that do not have padding. See rust-lang/portable-simd#319
2023-12-09Add simd_masked_{load,store} platform-intrinsicsJakub Okoński-0/+281
This maps to the LLVM intrinsics: llvm.masked.load and llvm.masked.store
2023-12-02Add test using non-power-of-two vectorCaleb Zulawski-1/+15
2023-12-02Implement repr(packed) for repr(simd)Caleb Zulawski-0/+45
2023-11-26Update std::simd usage and test outputsCaleb Zulawski-2/+2
2023-11-24Show number in error message even for one errorNilstrieb-8/+8
Co-authored-by: Adrian <adrian.iosdev@gmail.com>
2023-11-22When failing to import `core`, suggest `std`Esteban Küber-3/+4
2023-10-25Work around the fact that `check_mod_type_wf` may spuriously return ↵Oli Scherer-1/+9
`ErrorGuaranteed`, even if that error is only emitted by `check_modwitem_types`
2023-09-18Prototype using const generic for simd_shuffle IDX arrayOli Scherer-19/+129
2023-08-03Forbid old-style `simd_shuffleN` intrinsicsOli Scherer-111/+101
2023-07-30Fix simd_bswap for i8/u8Caleb Zulawski-0/+22
2023-07-28Format testCaleb Zulawski-10/+12
2023-07-27Add SIMD bitreverse, ctlz, cttz intrinsicsCaleb Zulawski-18/+86
2023-07-27Add simd_bswap intrinsicCaleb Zulawski-16/+39