diff --git a/riscv/mmu.h b/riscv/mmu.h index 14b57fb5..66953835 100644 --- a/riscv/mmu.h +++ b/riscv/mmu.h @@ -214,7 +214,10 @@ public: throw trap_load_address_misaligned((proc) ? proc->state.v : false, addr, 0, 0); } - return (float128_t){load(addr), load(addr + 8)}; + float128_t res; + res.v[0] = load(addr); + res.v[1] = load(addr + 8); + return res; } void cbo_zero(reg_t addr) {