aboutsummaryrefslogtreecommitdiff
path: root/riscv/insns/vfnmadd_vv.h
blob: 7160ed7d6fc24e191ce68254f6d392bbe515646e (plain)
1
2
3
4
5
6
7
8
9
10
11
// vfnmadd: vd[i] = -(vd[i] * vs1[i]) - vs2[i]
VI_VFP_VV_LOOP
({
  vd = f16_mulAdd(f16(vd.v ^ F16_SIGN), vs1, f16(vs2.v ^ F16_SIGN));
},
{
  vd = f32_mulAdd(f32(vd.v ^ F32_SIGN), vs1, f32(vs2.v ^ F32_SIGN));
},
{
  vd = f64_mulAdd(f64(vd.v ^ F64_SIGN), vs1, f64(vs2.v ^ F64_SIGN));
})