@@ -80,7 +80,10 @@ pub unsafe fn _mm_blendv_epi8(
8080/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_epi16)
8181#[ inline]
8282#[ target_feature( enable = "sse4.1" ) ]
83- #[ cfg_attr( test, assert_instr( pblendw, imm8 = 0xF0 ) ) ]
83+ // Note: LLVM7 prefers the single-precision floating-point domain when possible
84+ // see https://bugs.llvm.org/show_bug.cgi?id=38195
85+ // #[cfg_attr(test, assert_instr(pblendw, imm8 = 0xF0))]
86+ #[ cfg_attr( test, assert_instr( blendps, imm8 = 0xF0 ) ) ]
8487#[ rustc_args_required_const( 2 ) ]
8588#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
8689pub unsafe fn _mm_blend_epi16 ( a : __m128i , b : __m128i , imm8 : i32 ) -> __m128i {
@@ -124,7 +127,10 @@ pub unsafe fn _mm_blendv_ps(a: __m128, b: __m128, mask: __m128) -> __m128 {
124127/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_pd)
125128#[ inline]
126129#[ target_feature( enable = "sse4.1" ) ]
127- #[ cfg_attr( test, assert_instr( blendpd, imm2 = 0b10 ) ) ]
130+ // Note: LLVM7 prefers the single-precision floating-point domain when possible
131+ // see https://bugs.llvm.org/show_bug.cgi?id=38195
132+ // #[cfg_attr(test, assert_instr(blendpd, imm2 = 0b10))]
133+ #[ cfg_attr( test, assert_instr( blendps, imm2 = 0b10 ) ) ]
128134#[ rustc_args_required_const( 2 ) ]
129135#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
130136pub unsafe fn _mm_blend_pd ( a : __m128d , b : __m128d , imm2 : i32 ) -> __m128d {
0 commit comments