From b357121749c8103fec90a86a0b3ff1b47810aab5 Mon Sep 17 00:00:00 2001 From: Simon Renblad Date: Mon, 6 Jan 2025 17:57:39 +0800 Subject: [PATCH] prevent vectorizing copy_work_buffer --- src/libboard_artiq/src/drtioaux.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/libboard_artiq/src/drtioaux.rs b/src/libboard_artiq/src/drtioaux.rs index e86847b..ca94618 100644 --- a/src/libboard_artiq/src/drtioaux.rs +++ b/src/libboard_artiq/src/drtioaux.rs @@ -1,4 +1,5 @@ use core::slice; +use core::arch::asm; use core_io::{Error as IoError, ErrorKind as IoErrorKind}; use crc; @@ -39,6 +40,7 @@ pub fn copy_work_buffer(src: *mut u32, dst: *mut u32, len: isize) { // fix for artiq-zynq#344 unsafe { for i in 0..(len / 4) { + asm!("", options(preserves_flags, nostack, readonly)); *dst.offset(i) = *src.offset(i); } }