Browse Source

rvv: fix Vxrm not reflected in fcsr

pull/396/head
Dave.Wen 6 years ago
committed by Chih-Min Chao
parent
commit
bb786db8b8
  1. 9
      riscv/processor.cc

9
riscv/processor.cc

@ -846,10 +846,15 @@ reg_t processor_t::get_csr(int which)
break;
return state.frm;
case CSR_FCSR:
require_fp;
{require_fp;
if (!supports_extension('F'))
break;
return (state.fflags << FSR_AEXC_SHIFT) | (state.frm << FSR_RD_SHIFT);
uint32_t shared_flags = 0;
if (supports_extension('V'))
shared_flags = (VU.vxrm << FSR_VXRM_SHIFT) | (VU.vxsat << FSR_VXSAT_SHIFT);
return (state.fflags << FSR_AEXC_SHIFT) | (state.frm << FSR_RD_SHIFT) |
shared_flags;
}
case CSR_INSTRET:
case CSR_CYCLE:
if (ctr_ok)

Loading…
Cancel
Save