Resolve old FIXME comments (#1364)

This commit is contained in:
Nugine 2023-01-06 19:52:12 +08:00 committed by GitHub
parent 39c2524e1b
commit 284e7768c9
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 6 deletions

View file

@ -2349,10 +2349,6 @@ pub use i8x16_all_true as u8x16_all_true;
#[doc(alias("i8x16.bitmask"))]
#[stable(feature = "wasm_simd", since = "1.54.0")]
pub fn i8x16_bitmask(a: v128) -> u16 {
// FIXME(https://bugs.llvm.org/show_bug.cgi?id=50507) - this produces an
// extraneous `i32.and` instruction against a mask of 65535 when converting
// from the native intrinsic's i32 return value to our desired u16. This
// shouldn't be necessary, though, but requires upstream LLVM changes.
unsafe { llvm_bitmask_i8x16(a.as_i8x16()) as u16 }
}
@ -3460,7 +3456,7 @@ pub use i32x4_extmul_high_u16x8 as u32x4_extmul_high_u16x8;
/// Lane-wise wrapping absolute value.
#[inline]
// #[cfg_attr(test, assert_instr(i64x2.abs))] // FIXME llvm
#[cfg_attr(test, assert_instr(i64x2.abs))]
#[target_feature(enable = "simd128")]
#[doc(alias("i64x2.abs"))]
#[stable(feature = "wasm_simd", since = "1.54.0")]

View file

@ -527,7 +527,8 @@ pub unsafe fn _mm256_broadcastd_epi32(a: __m128i) -> __m256i {
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_broadcastq_epi64)
#[inline]
#[target_feature(enable = "avx2")]
// FIXME: https://github.com/rust-lang/stdarch/issues/791
// Emits `vmovddup` instead of `vpbroadcastq`
// See https://github.com/rust-lang/stdarch/issues/791
#[cfg_attr(test, assert_instr(vmovddup))]
#[stable(feature = "simd_x86", since = "1.27.0")]
pub unsafe fn _mm_broadcastq_epi64(a: __m128i) -> __m128i {