diff --git a/src/cpu/checker/cpu_impl.hh b/src/cpu/checker/cpu_impl.hh index 61128e1f95..a68b6f4526 100644 --- a/src/cpu/checker/cpu_impl.hh +++ b/src/cpu/checker/cpu_impl.hh @@ -584,19 +584,16 @@ Checker::copyResult( case InvalidRegClass: break; case IntRegClass: - thread->setIntReg(idx.index(), mismatch_val.as()); - break; case FloatRegClass: - thread->setFloatReg(idx.index(), mismatch_val.as()); + case VecElemClass: + case CCRegClass: + thread->setReg(idx, mismatch_val.as()); break; case VecRegClass: - thread->setVecReg(idx, mismatch_val.as()); - break; - case VecElemClass: - thread->setVecElem(idx, mismatch_val.as()); - break; - case CCRegClass: - thread->setCCReg(idx.index(), mismatch_val.as()); + { + auto val = mismatch_val.as(); + thread->setReg(idx, &val); + } break; case MiscRegClass: thread->setMiscReg(idx.index(), mismatch_val.as()); @@ -614,19 +611,16 @@ Checker::copyResult( case InvalidRegClass: break; case IntRegClass: - thread->setIntReg(idx.index(), res.as()); - break; case FloatRegClass: - thread->setFloatReg(idx.index(), res.as()); + case VecElemClass: + case CCRegClass: + thread->setReg(idx, res.as()); break; case VecRegClass: - thread->setVecReg(idx, res.as()); - break; - case VecElemClass: - thread->setVecElem(idx, res.as()); - break; - case CCRegClass: - thread->setCCReg(idx.index(), res.as()); + { + auto val = res.as(); + thread->setReg(idx, &val); + } break; case MiscRegClass: // Try to get the proper misc register index for ARM here...