From c533295cc17d9610a8523b67c2ae435ded6bdae4 Mon Sep 17 00:00:00 2001 From: Brendan Hansknecht Date: Fri, 18 Feb 2022 16:32:48 -0800 Subject: [PATCH] remove redundant move --- compiler/gen_dev/src/generic64/x86_64.rs | 3 +++ 1 file changed, 3 insertions(+) diff --git a/compiler/gen_dev/src/generic64/x86_64.rs b/compiler/gen_dev/src/generic64/x86_64.rs index 26c606f90a..b2abb1dcf6 100644 --- a/compiler/gen_dev/src/generic64/x86_64.rs +++ b/compiler/gen_dev/src/generic64/x86_64.rs @@ -1353,6 +1353,9 @@ fn mov_reg64_base64_offset32( /// `MOVSD xmm1,xmm2` -> Move scalar double-precision floating-point value from xmm2 to xmm1 register. #[inline(always)] fn movsd_freg64_freg64(buf: &mut Vec<'_, u8>, dst: X86_64FloatReg, src: X86_64FloatReg) { + if dst == src { + return; + } let dst_high = dst as u8 > 7; let dst_mod = dst as u8 % 8; let src_high = src as u8 > 7;