From da66eaeee54ed19c4752562a3c62fb1fd3dccce5 Mon Sep 17 00:00:00 2001 From: Nugine Date: Sat, 3 Dec 2022 13:37:48 +0800 Subject: [PATCH] Resolve old FIXME comments --- crates/core_arch/src/wasm32/simd128.rs | 6 +----- crates/core_arch/src/x86/avx2.rs | 3 ++- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/crates/core_arch/src/wasm32/simd128.rs b/crates/core_arch/src/wasm32/simd128.rs index c0025696bc..86394e50ea 100644 --- a/crates/core_arch/src/wasm32/simd128.rs +++ b/crates/core_arch/src/wasm32/simd128.rs @@ -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")] diff --git a/crates/core_arch/src/x86/avx2.rs b/crates/core_arch/src/x86/avx2.rs index 8638b31367..faff42acad 100644 --- a/crates/core_arch/src/x86/avx2.rs +++ b/crates/core_arch/src/x86/avx2.rs @@ -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 {