From dbb554f8857a5ebb5ff27d6ef304ee4f2f578cd2 Mon Sep 17 00:00:00 2001 From: Jeremy Soller Date: Wed, 21 Sep 2016 16:46:16 -0600 Subject: [PATCH] Increase optimization, fix clobbers in vesad --- vesad/src/primitive.rs | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/vesad/src/primitive.rs b/vesad/src/primitive.rs index 8427745485..16c2536a24 100644 --- a/vesad/src/primitive.rs +++ b/vesad/src/primitive.rs @@ -1,5 +1,4 @@ #[cfg(target_arch = "x86_64")] -#[allow(unused_assignments)] #[inline(always)] #[cold] pub unsafe fn fast_copy(dst: *mut u8, src: *const u8, len: usize) { @@ -7,12 +6,11 @@ pub unsafe fn fast_copy(dst: *mut u8, src: *const u8, len: usize) { rep movsb" : : "{rdi}"(dst as usize), "{rsi}"(src as usize), "{rcx}"(len) - : "cc", "memory" + : "cc", "memory", "rdi", "rsi", "rcx" : "intel", "volatile"); } #[cfg(target_arch = "x86_64")] -#[allow(unused_assignments)] #[inline(always)] #[cold] pub unsafe fn fast_copy64(dst: *mut u64, src: *const u64, len: usize) { @@ -20,12 +18,11 @@ pub unsafe fn fast_copy64(dst: *mut u64, src: *const u64, len: usize) { rep movsq" : : "{rdi}"(dst as usize), "{rsi}"(src as usize), "{rcx}"(len) - : "cc", "memory" + : "cc", "memory", "rdi", "rsi", "rcx" : "intel", "volatile"); } #[cfg(target_arch = "x86_64")] -#[allow(unused_assignments)] #[inline(always)] #[cold] pub unsafe fn fast_set32(dst: *mut u32, src: u32, len: usize) { @@ -33,12 +30,11 @@ pub unsafe fn fast_set32(dst: *mut u32, src: u32, len: usize) { rep stosd" : : "{rdi}"(dst as usize), "{eax}"(src), "{rcx}"(len) - : "cc", "memory" + : "cc", "memory", "rdi", "rcx" : "intel", "volatile"); } #[cfg(target_arch = "x86_64")] -#[allow(unused_assignments)] #[inline(always)] #[cold] pub unsafe fn fast_set64(dst: *mut u64, src: u64, len: usize) { @@ -46,6 +42,6 @@ pub unsafe fn fast_set64(dst: *mut u64, src: u64, len: usize) { rep stosq" : : "{rdi}"(dst as usize), "{rax}"(src), "{rcx}"(len) - : "cc", "memory" + : "cc", "memory", "rdi", "rcx" : "intel", "volatile"); }