libsel4bench: fix syntax errors for RISC-V rv32

Signed-off-by: Axel Heider <axel.heider@hensoldt-cyber.de>
diff --git a/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h b/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h
index e652fb6..f42b54b 100644
--- a/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h
+++ b/libsel4bench/arch_include/riscv/sel4bench/arch/sel4bench.h
@@ -15,16 +15,18 @@
 
 #if __riscv_xlen == 32
 #define SEL4BENCH_READ_CCNT(var) \
-    uint32_t nH1, nL, nH2; \
-    asm volatile("rdcycleh %0\n" \
-                 "rdcycle %1\n" \
-                 "rdcycleh %2\n" \
-                 : "=r"(nH1), "=r"(nL), "=r"(nH2)); \
-    if (nH1 < nH2) { \
-        asm volatile("rdcycle %0" : "=r"(nL); \
-        nH1 = nH2; \
-    } \
-    var = ((uint64_t)((uint64_t) nH1 << 32 | (nL);
+    do { \
+        uint32_t nH1, nL, nH2; \
+        asm volatile("rdcycleh %0\n" \
+                    "rdcycle %1\n" \
+                    "rdcycleh %2\n" \
+                    : "=r"(nH1), "=r"(nL), "=r"(nH2)); \
+        if (nH1 < nH2) { \
+            asm volatile("rdcycle %0" : "=r"(nL)); \
+            nH1 = nH2; \
+        } \
+        var = ((uint64_t)nH1 << 32) | nL; \
+    } while(0)
 #else
 #define SEL4BENCH_READ_CCNT(var) \
     asm volatile("rdcycle %0" :"=r"(var));
@@ -36,16 +38,18 @@
 
 #if __riscv_xlen == 32
 #define SEL4BENCH_READ_PCNT(idx, var) \
-    uint32_t nH1, nL, nH2; \
-    asm volatile("csrr %0, hpmcounterh" #idx \
-                 "csrr %1, hpmcounter" #idx \
-                 "csrr %2, hpmcounterh" #idx \
-                 : "=r"(nH1), "=r"(nL), "=r"(nH2)); \
-    if (nH1 < nH2) { \
-        asm volatile("csrr %0, hpmcounter" #idx : "=r"(nL); \
-        nH1 = nH2; \
-    } \
-    var = ((uint64_t)((uint64_t) nH1 << 32 | (nL);
+    do { \
+        uint32_t nH1, nL, nH2; \
+        asm volatile("csrr %0, hpmcounterh" #idx \
+                    "csrr %1, hpmcounter" #idx \
+                    "csrr %2, hpmcounterh" #idx \
+                    : "=r"(nH1), "=r"(nL), "=r"(nH2)); \
+        if (nH1 < nH2) { \
+            asm volatile("csrr %0, hpmcounter" #idx : "=r"(nL)); \
+            nH1 = nH2; \
+        } \
+        var = ((uint64_t)nH1 << 32) | nL; \
+    } while(0)
 #else
 #define SEL4BENCH_READ_PCNT(idx, var) \
     asm volatile("csrr %0, hpmcounter" #idx : "=r"(var));