diff options
| author | Andy Sadler <andrewsadler122@gmail.com> | 2022-10-02 18:29:51 -0500 |
|---|---|---|
| committer | Andy Sadler <andrewsadler122@gmail.com> | 2022-10-02 19:04:49 -0500 |
| commit | 436710fa9bf5ea9a601705c2bd276e18751f2c24 (patch) | |
| tree | 92433a9aace8b0737a17b353a6728fc6b7ab1e31 | |
| parent | 86a3e3bd03a3be2cbd44094878d6ea7528ba5c9c (diff) | |
| download | rust-436710fa9bf5ea9a601705c2bd276e18751f2c24.tar.gz rust-436710fa9bf5ea9a601705c2bd276e18751f2c24.zip | |
simd: enable simd_as intrinsic
The method context.convert_vector, added to libgccjit for simd_cast, appears to give the correct behavior for simd_as. Instead of special-casing simd_as, re-use simd_cast's impl for simd_as. Signed-off-by: Andy Sadler <andrewsadler122@gmail.com>
| -rw-r--r-- | failing-ui-tests.txt | 1 | ||||
| -rw-r--r-- | failing-ui-tests12.txt | 1 | ||||
| -rw-r--r-- | src/intrinsic/simd.rs | 2 |
3 files changed, 2 insertions, 2 deletions
diff --git a/failing-ui-tests.txt b/failing-ui-tests.txt index 8b740cff4f5..6acd3808445 100644 --- a/failing-ui-tests.txt +++ b/failing-ui-tests.txt @@ -31,7 +31,6 @@ src/test/ui/sepcomp/sepcomp-fns-backwards.rs src/test/ui/sepcomp/sepcomp-fns.rs src/test/ui/sepcomp/sepcomp-statics.rs src/test/ui/simd/intrinsic/generic-arithmetic-pass.rs -src/test/ui/simd/intrinsic/generic-as.rs src/test/ui/simd/intrinsic/generic-bitmask-pass.rs src/test/ui/simd/intrinsic/generic-gather-pass.rs src/test/ui/simd/intrinsic/generic-select-pass.rs diff --git a/failing-ui-tests12.txt b/failing-ui-tests12.txt index 7826875f04e..027c929d2f3 100644 --- a/failing-ui-tests12.txt +++ b/failing-ui-tests12.txt @@ -10,6 +10,7 @@ src/test/ui/packed/packed-tuple-struct-layout.rs src/test/ui/simd/array-type.rs src/test/ui/simd/intrinsic/float-minmax-pass.rs src/test/ui/simd/intrinsic/generic-arithmetic-saturating-pass.rs +src/test/ui/simd/intrinsic/generic-as.rs src/test/ui/simd/intrinsic/generic-cast-pass.rs src/test/ui/simd/intrinsic/generic-cast-pointer-width.rs src/test/ui/simd/intrinsic/generic-comparison-pass.rs diff --git a/src/intrinsic/simd.rs b/src/intrinsic/simd.rs index 6d600997283..00c541a8af7 100644 --- a/src/intrinsic/simd.rs +++ b/src/intrinsic/simd.rs @@ -254,7 +254,7 @@ pub fn generic_simd_intrinsic<'a, 'gcc, 'tcx>(bx: &mut Builder<'a, 'gcc, 'tcx>, } #[cfg(feature="master")] - if name == sym::simd_cast { + if name == sym::simd_cast || name == sym::simd_as { require_simd!(ret_ty, "return"); let (out_len, out_elem) = ret_ty.simd_size_and_type(bx.tcx()); require!( |
