Spike, a RISC-V ISA Simulator
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

15 lines
408 B

// vfnmadd: vd[i] = -(vd[i] * f[rs1]) - vs2[i]
require_zvfbfa
VI_VFP_VF_LOOP
({
vd = P.VU.altfmt ? bf16_mulAdd(bf16(vd.v ^ BF16_SIGN), rs1, bf16(vs2.v ^ BF16_SIGN))
: f16_mulAdd( f16(vd.v ^ F16_SIGN), rs1, f16(vs2.v ^ F16_SIGN));
},
{
vd = f32_mulAdd(f32(vd.v ^ F32_SIGN), rs1, f32(vs2.v ^ F32_SIGN));
},
{
vd = f64_mulAdd(f64(vd.v ^ F64_SIGN), rs1, f64(vs2.v ^ F64_SIGN));
})