diff --git a/src/arch/arm/kvm/arm_cpu.cc b/src/arch/arm/kvm/arm_cpu.cc
index becb6b9..42aeea6 100644
--- a/src/arch/arm/kvm/arm_cpu.cc
+++ b/src/arch/arm/kvm/arm_cpu.cc
@@ -773,8 +773,8 @@
         const unsigned idx_hi = idx_base + 1;
         const unsigned idx_lo = idx_base + 0;
         uint64_t value =
-            ((uint64_t)tc->readFloatRegFlat(idx_hi) << 32) |
-            tc->readFloatRegFlat(idx_lo);
+            ((uint64_t)tc->getRegFlat(RegId(FloatRegClass, idx_hi)) << 32) |
+            tc->getRegFlat(RegId(FloatRegClass, idx_lo));
 
         setOneReg(id, value);
     } else if (regIsVfpCtrl(id)) {
@@ -915,8 +915,9 @@
         const unsigned idx_lo = idx_base + 0;
         uint64_t value = getOneRegU64(id);
 
-        tc->setFloatRegFlat(idx_hi, (value >> 32) & 0xFFFFFFFF);
-        tc->setFloatRegFlat(idx_lo, value & 0xFFFFFFFF);
+        tc->setRegFlat(RegId(FloatRegClass, idx_hi),
+                (value >> 32) & 0xFFFFFFFF);
+        tc->setRegFlat(RegId(FloatRegClass, idx_lo), value & 0xFFFFFFFF);
     } else if (regIsVfpCtrl(id)) {
         MiscRegIndex idx = decodeVFPCtrlReg(id);
         if (idx == NUM_MISCREGS) {
diff --git a/src/arch/arm/tracers/tarmac_record.cc b/src/arch/arm/tracers/tarmac_record.cc
index 4ae379b..94dbc51 100644
--- a/src/arch/arm/tracers/tarmac_record.cc
+++ b/src/arch/arm/tracers/tarmac_record.cc
@@ -246,7 +246,8 @@
 
     regValid = true;
     regName  = "f" + std::to_string(regRelIdx);
-    values[Lo] = bitsToFloat32(thread->readFloatReg(regRelIdx));
+    RegId reg(FloatRegClass, regRelIdx);
+    values[Lo] = bitsToFloat32(thread->getReg(reg));
 }
 
 void
