Skip to content

Commit 52271f4

Browse files
committed
LLVM9 started emitting more single precision floating-point intrinsics for double-precision operations
1 parent bb46c72 commit 52271f4

File tree

2 files changed

+8
-8
lines changed

2 files changed

+8
-8
lines changed

crates/core_arch/src/x86/sse.rs

+3-3
Original file line numberDiff line numberDiff line change
@@ -1117,7 +1117,7 @@ pub unsafe fn _mm_movemask_ps(a: __m128) -> i32 {
11171117
all(target_arch = "x86", target_feature = "sse2")
11181118
)
11191119
),
1120-
assert_instr(movhpd)
1120+
assert_instr(movhps)
11211121
)]
11221122
// FIXME: 32-bit codegen without SSE2 generates two `shufps` instead of `movhps`
11231123
#[cfg_attr(
@@ -1137,10 +1137,10 @@ pub unsafe fn _mm_loadh_pi(a: __m128, p: *const __m64) -> __m128 {
11371137
/// is copied from the upper half of `a`.
11381138
#[inline]
11391139
#[target_feature(enable = "sse")]
1140-
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(movlpd))]
1140+
#[cfg_attr(all(test, target_arch = "x86_64"), assert_instr(movlps))]
11411141
#[cfg_attr(
11421142
all(test, target_arch = "x86", target_feature = "sse2"),
1143-
assert_instr(movlpd)
1143+
assert_instr(movlps)
11441144
)]
11451145
// FIXME: On 32-bit targets without SSE2, it just generates two `movss`...
11461146
#[cfg_attr(

crates/core_arch/src/x86/sse2.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -2553,7 +2553,7 @@ pub unsafe fn _mm_load_sd(mem_addr: *const f64) -> __m128d {
25532553
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadh_pd)
25542554
#[inline]
25552555
#[target_feature(enable = "sse2")]
2556-
#[cfg_attr(test, assert_instr(movhpd))]
2556+
#[cfg_attr(test, assert_instr(movhps))]
25572557
#[stable(feature = "simd_x86", since = "1.27.0")]
25582558
pub unsafe fn _mm_loadh_pd(a: __m128d, mem_addr: *const f64) -> __m128d {
25592559
_mm_setr_pd(simd_extract(a, 0), *mem_addr)
@@ -2566,7 +2566,7 @@ pub unsafe fn _mm_loadh_pd(a: __m128d, mem_addr: *const f64) -> __m128d {
25662566
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadl_pd)
25672567
#[inline]
25682568
#[target_feature(enable = "sse2")]
2569-
#[cfg_attr(test, assert_instr(movlpd))]
2569+
#[cfg_attr(test, assert_instr(movlps))]
25702570
#[stable(feature = "simd_x86", since = "1.27.0")]
25712571
pub unsafe fn _mm_loadl_pd(a: __m128d, mem_addr: *const f64) -> __m128d {
25722572
_mm_setr_pd(*mem_addr, simd_extract(a, 1))
@@ -2675,7 +2675,7 @@ pub unsafe fn _mm_storer_pd(mem_addr: *mut f64, a: __m128d) {
26752675
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_storeh_pd)
26762676
#[inline]
26772677
#[target_feature(enable = "sse2")]
2678-
#[cfg_attr(all(test, not(target_os = "windows")), assert_instr(movhpd))]
2678+
#[cfg_attr(all(test, not(target_os = "windows")), assert_instr(movhps))]
26792679
#[stable(feature = "simd_x86", since = "1.27.0")]
26802680
pub unsafe fn _mm_storeh_pd(mem_addr: *mut f64, a: __m128d) {
26812681
*mem_addr = simd_extract(a, 1);
@@ -2725,7 +2725,7 @@ pub unsafe fn _mm_load_pd1(mem_addr: *const f64) -> __m128d {
27252725
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_loadr_pd)
27262726
#[inline]
27272727
#[target_feature(enable = "sse2")]
2728-
#[cfg_attr(test, assert_instr(movapd))]
2728+
#[cfg_attr(test, assert_instr(movaps))]
27292729
#[stable(feature = "simd_x86", since = "1.27.0")]
27302730
pub unsafe fn _mm_loadr_pd(mem_addr: *const f64) -> __m128d {
27312731
let a = _mm_load_pd(mem_addr);
@@ -2758,7 +2758,7 @@ pub unsafe fn _mm_loadu_pd(mem_addr: *const f64) -> __m128d {
27582758
/// [Intel's documentation](https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=_mm_shuffle_pd)
27592759
#[inline]
27602760
#[target_feature(enable = "sse2")]
2761-
#[cfg_attr(test, assert_instr(shufpd, imm8 = 1))]
2761+
#[cfg_attr(test, assert_instr(shufps, imm8 = 1))]
27622762
#[rustc_args_required_const(2)]
27632763
#[stable(feature = "simd_x86", since = "1.27.0")]
27642764
pub unsafe fn _mm_shuffle_pd(a: __m128d, b: __m128d, imm8: i32) -> __m128d {

0 commit comments

Comments
 (0)