add postinc reg profiles to optables.csv
[libreriscv.git] / openpower / sv / rfc / ls012 / optable.csv
1 op, rfc, priority, cost, SVP64, group, PO1, page, regs
2 # LD/ST-Postincrement (FP TODO)
3 lbzup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
4 lbzupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
5 lhzup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
6 lhzupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
7 lhaup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
8 lhaupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
9 lwzup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
10 lwzupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
11 lwaupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
12 ldup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedload, 1R2W
13 ldupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedload, 2R2W
14 stbup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
15 stbupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
16 sthup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
17 sthupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
18 stwup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
19 stwupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
20 stdup, ls011, high, PO, yes, EXT2xx, ??, isa/pifixedstore, 2R1W
21 stdupx, ls011, high, 10, yes, EXT2xx, ??, isa/pifixedstore, 3R1W
22 FP-LD, ls011, high, ??, yes, EXT2xx, ??, TODO,
23 FP-ST, ls011, high, ??, yes, EXT2xx, ??, TODO,
24 # Bitmanip LUT2/3 operations. high cost high reward
25 grevlut, TBD, high, 3, yes, TBD, no, sv/bitmanip, 2R1W
26 grevluti, TBD, high, 3, yes, TBD, yes, sv/bitmanip, 1R1W
27 ternlogi, ls007, high, 2, yes, TBD, yes, sv/bitmanip, 3R1W1w
28 crternlogi, ls007, high, 5, yes, TBD, yes, sv/bitmanip, 3r1w
29 binlut, ls007, high, 6, yes, TBD, no, sv/bitmanip, 3R1W
30 crbinlut, ls007, high, 5, yes, TBD, no, sv/bitmanip, 3r1w
31 # Float-Load-Immediate (always saves one LD L1/2/3 D-Cache op)
32 fmvis, ls002, high, 5, yes, TBD, no, sv/bitmanip, 1W
33 fishmv, ls002, high, 5, yes, TBD, no, sv/bitmanip, 1R1W
34 # Shift-and-Add (mitigates LD-ST-Shift; Cryptography e.g. twofish)
35 shadd, ls003, med, 7, yes, TBD, no, sv/bitmanip, 2R1W1w
36 shadduw, ls003, med, 7, yes, TBD, no, sv/bitmanip, 2R1W1w
37 # Audio-Video
38 absdu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w
39 avgadd, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w
40 minmax, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 2R1W1w
41 absaccs, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w
42 absaccu, TBD, TBD, 10, yes, TBD, no, sv/av_opcodes, 3R1W1w
43 # BMI group
44 bmask, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w
45 cprop, TBD, high, 5, yes, TBD, yes, sv/vector_ops, 2R1W1w
46 # SVP64 Management.
47 setvl, ls008, high, 5, no, EXT0xx, yes, sv/setvl, 3R2W
48 svstep, ls008, high, 5, no, EXT0xx, yes, sv/svstep, 1R2W1w
49 svremap, ls009, high, 5, no, EXT0xx, yes, sv/remap, 1R1W
50 svshape, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W
51 svshape2, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W
52 svindex, ls009, high, 5, no, EXT0xx, yes, sv/remap, 5R5W
53 # GPU swizzle
54 mv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W
55 fmv.swizzle, TBD, TBD, 4, yes, TBD, yes, sv/mv.swizzle, 2R2W
56 # CR weirds
57 crrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w
58 mfcrweird, TBD, high, 8, yes, TBD, no, sv/cr_int_predication, 1r1W1w
59 mtcrrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w
60 mtcrweird, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 1R1r1w
61 crweirder, TBD, high, 9, yes, TBD, no, sv/cr_int_predication, 2r1w
62 mcrfm, TBD, high, 9, yes, EXT0xx, no, sv/cr_int_predication, 2r1w
63 # fclass (Scalar variant of xvtstdcsp)
64 fptstp(s), TBD, high, 10, yes, EXT0xx, no, sv/fclass, 1R1w
65 # INT<->FP mv
66 fmvfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
67 fcvtfg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
68 fcvttg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
69 fcvtstg(s), ls006, high, 10, yes, EXT0xx, no, sv/int_fp_mv, 1R1W1w
70 # Big-Integer Chained 3-in 2-out (64-bit Carry)
71 dsld, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w
72 dsrd, ls003, high, 5, yes, EXT0xx, no, sv/biginteger, 3R2W1w
73 maddedu, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W
74 maddedus, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W
75 divmod2du, ls003, high, 6, yes, EXT0xx, no, sv/biginteger, 3R2W1w
76 # FP DCT/FFT Butterfly (2/3-in 2-out)
77 ffadd(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
78 ffsub(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
79 ffmul(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
80 ffdiv(s), TBD, med, 10, yes, EXT2xx, no, isa/svfparith, 2R1W1w
81 fdmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w
82 ffmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w
83 ffmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w
84 ffnmadd(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w
85 ffnmsub(s), TBD, med, 5, yes, EXT2xx, no, isa/svfparith, 3R2W1w
86 # Trigonometric (1-arg)
87 fsin(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
88 fcos(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
89 ftan(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
90 fasin(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
91 facos(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
92 fatan(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
93 fsinpi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w
94 fcospi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w
95 ftanpi(s), TBD, high, 10, yes, TBD, no, transcendentals, 1R1W1w
96 fasinpi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
97 facospi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
98 fatanpi(s), TBD, high, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
99 fsinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
100 fcosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
101 ftanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
102 fasinh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
103 facosh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
104 fatanh(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
105 # Transcendentals (1-arg)
106 frsqrt(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
107 fcbrt(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 1R1W1w
108 frecip(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
109 fexp2m1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
110 flog2p1(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
111 fexp2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
112 flog2(s), TBD, high, 10, yes, EXT0xx, no, transcendentals, 1R1W1w
113 fexpm1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
114 flogp1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
115 fexp(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
116 flog(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
117 fexp10m1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
118 flog10p1(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
119 fexp10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
120 flog10(s), TBD, med, 10, yes, TBD, no, transcendentals, 1R1W1w
121 # Transcendentals (2-arg)
122 fatan2(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
123 fatan2pi(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
124 fpow(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
125 fpown(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
126 fpowr(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
127 frootn(s), TBD, low, 10, yes, EXT2xx, no, transcendentals, 2R1W1w
128 fhypot(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
129 fminnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
130 fmaxnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
131 fmin19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
132 fmax19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
133 fminnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
134 fmaxnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
135 fminc(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
136 fmaxc(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
137 fminmagnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
138 fmaxmagnum08(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
139 fminmag19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
140 fmaxmag19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
141 fminmagnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
142 fmaxmagnum19(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
143 fminmagc(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
144 fmaxmagc(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
145 fmod(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w
146 fremainder(s), TBD, TBD, 10, yes, TBD, no, transcendentals, 2R1W1w