@@ -80,7 +80,10 @@ pub unsafe fn _mm_blendv_epi8(
80
80
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_epi16)
81
81
#[ inline]
82
82
#[ 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 ) ) ]
84
87
#[ rustc_args_required_const( 2 ) ]
85
88
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
86
89
pub 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 {
124
127
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_blend_pd)
125
128
#[ inline]
126
129
#[ 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 ) ) ]
128
134
#[ rustc_args_required_const( 2 ) ]
129
135
#[ stable( feature = "simd_x86" , since = "1.27.0" ) ]
130
136
pub unsafe fn _mm_blend_pd ( a : __m128d , b : __m128d , imm2 : i32 ) -> __m128d {
0 commit comments