core_arch::x86::avx512f
intrinsics with rounding do not compile
#140352
Labels
C-bug
Category: This is a bug.
F-stdarch_x86_avx512
`#![feature(stdarch_x86_avx512)]`
needs-triage
This issue may need triage. Remove it if it has been sufficiently triaged.
O-x86_64
Target: x86-64 processors (like x86_64-*) (also known as amd64 and x64)
T-libs
Relevant to the library team, which will review and decide on the PR/issue.
I tried this code:
I expected this to compile.
Instead, this happened:
It seems that the assertion macros
static_assert_sae
andstatic_assert_mantissas_sae
are not checking the flags properly and error on most valid values.https://github.com/rust-lang/stdarch/blob/e907456b2e10622ccd854a3bba8d02ce170b5dbb/crates/core_arch/src/x86/macros.rs#L18-L22
As an added note, some docs seem to be inconsistent with Intel® Intrinsics Guide:
Rustdoc of
_mm512_cvtps_ph
only mentions_MM_FROUND_NO_EXC
, while Guide mentions many flags.Rustdoc of
_mm_maskz_cvt_roundps_ph
mentions flags with_MM_FROUND_NO_EXC
, while Guide does not.Meta
rustc --version --verbose
:The text was updated successfully, but these errors were encountered: