blob: 303647b2b8afbfe3123c9a4c3d430880387c12d5 [file] [log] [blame]
!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