| !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: "Round|Ceil|Floor|Trunc" | |
| regexpTag: "fp" | |
| asm: "VROUNDP[SD]" | |
| in: | |
| - class: immediate | |
| const: 0 # place holder | |
| - *fp | |
| out: *1fp | |
| - go: "(Round|Ceil|Floor|Trunc)Scaled" | |
| regexpTag: "fp" | |
| asm: "VRNDSCALEP[SD]" | |
| in: | |
| - class: immediate | |
| const: 0 # place holder | |
| immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number). | |
| name: prec | |
| - *fp | |
| out: *1fp | |
| - go: "(Round|Ceil|Floor|Trunc)ScaledResidue" | |
| regexpTag: "fp" | |
| asm: "VREDUCEP[SD]" | |
| in: | |
| - class: immediate | |
| const: 0 # place holder | |
| immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number). | |
| name: prec | |
| - *fp | |
| out: *1fp | |
| - go: "AddOddSubEven" | |
| asm: "VADDSUBP[SD]" | |
| in: | |
| - *fp | |
| - *fp | |
| out: | |
| - *fp |