rust-lang / rust

Empowering everyone to build reliable and efficient software.
https://www.rust-lang.org
Other
96.77k stars 12.5k forks source link

vget_low_s8 behind feature flag on beta #94083

Open dragostis opened 2 years ago

dragostis commented 2 years ago

While using the aarch64 intrinsics that are stable on beta I've noticed that vget_low_s8 still complains about not being given the stdsimd feature.

use std::arch::aarch64::*;

fn main() {
    [
        unsafe { vmovl_s8(vget_low_s8(val.0)) },
        unsafe { vmovl_s8(vget_high_s8(val.0)) },
    ];
}

Meta

rustc --version --verbose:

rustc 1.59.0-beta.8 (1945ce657 2022-02-12)
binary: rustc
commit-hash: 1945ce6579506787e0b18f0a2ea03fdb4dfc81c7
commit-date: 2022-02-12
host: x86_64-apple-darwin
release: 1.59.0-beta.8
LLVM version: 13.0.0
Backtrace

``` error[E0658]: use of unstable library feature 'stdsimd' ```

dragostis commented 2 years ago

cc https://github.com/rust-lang/rust/pull/91951

Mark-Simulacrum commented 2 years ago

cc @Amanieu

It looks like this may have gotten overlooked during stabilization? It likely does not block a release, though, and I'm not inclined to do fairly last minute backports of some subset of intrinsics

dragostis commented 2 years ago

Most likely overlooked since its cognate, vget_high_s8, was stabilized.

Amanieu commented 2 years ago

Yes, it seems this was overlooked in the stabilization. It's an easy fix, but probably not worth backporting at the last minute. In the meantime it should be possible to work around using some of the other intrinsics.