diff --git a/nemu/src/memory/memory.cc b/nemu/src/memory/memory.cc
index 8bce9de0feab69e7e41135d967b52e29ecc87391..f510a8a9a9843acf8c9375b1676888e2e0c3160e 100644
--- a/nemu/src/memory/memory.cc
+++ b/nemu/src/memory/memory.cc
@@ -15,7 +15,7 @@ uint8_t pmem[PMEM_SIZE];
 __attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
     static const uint32_t niddle[] = {0, 0xff, 0xffff, 0xffffff, 0xffffffff};
 
-    if(const auto mmio_id = is_mmio(addr);(-1 == mmio_id)) {
+    if(const auto mmio_id = is_mmio(addr); RLIB_MACRO_LIKELY(-1 == mmio_id)) {
       return pmem_rw(addr, uint32_t) & niddle[len];
     }
     else {
@@ -24,7 +24,7 @@ __attribute__((hot)) uint32_t paddr_read(paddr_t addr, int len) {
 }
 
 void paddr_write(paddr_t addr, uint32_t data, int len) {
-  if(const auto mmio_id = is_mmio(addr);(-1 == mmio_id)) {
+  if(const auto mmio_id = is_mmio(addr); RLIB_MACRO_LIKELY(-1 == mmio_id)) {
     memcpy(guest_to_host(addr), &data, len);
   }
   else {