aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/peripheral/icb.rs4
-rw-r--r--src/register/fpscr.rs4
2 files changed, 5 insertions, 3 deletions
diff --git a/src/peripheral/icb.rs b/src/peripheral/icb.rs
index 77ffd5d..9b29655 100644
--- a/src/peripheral/icb.rs
+++ b/src/peripheral/icb.rs
@@ -1,6 +1,8 @@
//! Implementation Control Block
-use volatile_register::{RO, RW};
+#[cfg(any(armv7m, armv8m, target_arch = "x86_64"))]
+use volatile_register::RO;
+use volatile_register::RW;
/// Register block
#[repr(C)]
diff --git a/src/register/fpscr.rs b/src/register/fpscr.rs
index 569d3a7..2ca00e1 100644
--- a/src/register/fpscr.rs
+++ b/src/register/fpscr.rs
@@ -148,10 +148,10 @@ impl Fpscr {
pub fn set_rmode(&mut self, rmode: RMode) {
let mask = 3 << 22;
match rmode {
- RMode::Nearest => self.bits = self.bits & !mask,
+ RMode::Nearest => self.bits &= !mask,
RMode::PlusInfinity => self.bits = (self.bits & !mask) | (1 << 22),
RMode::MinusInfinity => self.bits = (self.bits & !mask) | (2 << 22),
- RMode::Zero => self.bits = self.bits | mask,
+ RMode::Zero => self.bits |= mask,
}
}