| !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 |