!sum - go: Div asm: "V?DIVP[SD]" in: &2fp - &fp go: $t base: float - *fp out: &1fp - *fp - go: Sqrt asm: "V?SQRTP[SD]" in: *1fp out: *1fp # TODO: Provide separate methods for 12-bit precision and 14-bit precision? - go: Reciprocal asm: "VRCP(14)?P[SD]" in: *1fp out: *1fp - go: ReciprocalSqrt asm: "V?RSQRT(14)?P[SD]" in: *1fp out: *1fp - go: Scale asm: "VSCALEFP[SD]" in: *2fp out: *1fp - go: "RoundToEven|Ceil|Floor|Trunc" regexpTag: "fp" asm: "VROUNDP[SD]" in: - *fp - class: immediate const: 0 # place holder out: *1fp - go: "(RoundToEven|Ceil|Floor|Trunc)Scaled" regexpTag: "fp" asm: "VRNDSCALEP[SD]" in: - *fp - class: immediate const: 0 # place holder immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number). name: prec out: *1fp - go: "(RoundToEven|Ceil|Floor|Trunc)ScaledResidue" regexpTag: "fp" asm: "VREDUCEP[SD]" in: - *fp - class: immediate const: 0 # place holder immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number). name: prec out: *1fp - go: "AddSub" asm: "VADDSUBP[SD]" in: - *fp - *fp out: - *fp