1 !sum
2 - go: Div
3 asm: "V?DIVP[SD]"
4 in: &2fp
5 - &fp
6 go: $t
7 base: float
8 - *fp
9 out: &1fp
10 - *fp
11 - go: Sqrt
12 asm: "V?SQRTP[SD]"
13 in: *1fp
14 out: *1fp
15 # TODO: Provide separate methods for 12-bit precision and 14-bit precision?
16 - go: Reciprocal
17 asm: "VRCP(14)?P[SD]"
18 in: *1fp
19 out: *1fp
20 - go: ReciprocalSqrt
21 asm: "V?RSQRT(14)?P[SD]"
22 in: *1fp
23 out: *1fp
24 - go: Scale
25 asm: "VSCALEFP[SD]"
26 in: *2fp
27 out: *1fp
28
29 - go: "RoundToEven|Ceil|Floor|Trunc"
30 regexpTag: "fp"
31 asm: "VROUNDP[SD]"
32 in:
33 - *fp
34 - class: immediate
35 const: 0 # place holder
36 out: *1fp
37
38 - go: "(RoundToEven|Ceil|Floor|Trunc)Scaled"
39 regexpTag: "fp"
40 asm: "VRNDSCALEP[SD]"
41 in:
42 - *fp
43 - class: immediate
44 const: 0 # place holder
45 immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number).
46 name: prec
47 out: *1fp
48 - go: "(RoundToEven|Ceil|Floor|Trunc)ScaledResidue"
49 regexpTag: "fp"
50 asm: "VREDUCEP[SD]"
51 in:
52 - *fp
53 - class: immediate
54 const: 0 # place holder
55 immOffset: 4 # "M", round to numbers with M digits after dot(by means of binary number).
56 name: prec
57 out: *1fp
58
59 - go: "AddSub"
60 asm: "VADDSUBP[SD]"
61 in:
62 - *fp
63 - *fp
64 out:
65 - *fp
66
View as plain text