[gforth] / gforth / peeprules.vmg

# gforth: gforth/peeprules.vmg

 1 : anton 1.8 \ taken from David Gregg's EuroForth 2001 paper; omitted some sequences 2 : anton 1.12 \ eliminated for gforth-native: 3 : \ 1) sequences containing call 4 : \ 2) sequences with immediate arguments not in the first position 5 : anton 1.7 super1 = lit + 6 : anton 1.12 \ super2 = lit call 7 : anton 1.7 super3 = lit @ 8 : anton 1.12 \ super4 = lit @ call 9 : \ super5 = @ call 10 : anton 1.8 super6 = lit ! 11 : anton 1.12 \ super7 = lit lit 12 : \ super8 = dup lit 13 : \ super9 = ! lit 14 : \ super10 = lit ! lit 15 : anton 1.8 super11 = ! ;s 16 : super12 = lit + @ 17 : anton 1.12 \ super13 = 0= ?branch 18 : \ super14 = dup call 19 : anton 1.8 super15 = useraddr @ 20 : super16 = + @ 21 : anton 1.12 \ super17 = lit @ ?branch 22 : anton 1.8 super18 = lit ! ;s 23 : super19 = lit @ and 24 : super20 = = ?branch 25 : anton 1.12 \ super21 = lit lit ! 26 : \ super22 = @ ?branch 27 : anton 1.8 super23 = useraddr ! 28 : anton 1.12 \ super24 = dup ?branch 29 : anton 1.8 super25 = @ ;s 30 : super26 = lit @ + 31 : super27 = dup @ 32 : anton 1.9 33 : anton 1.11 \F 0 [if] 34 : anton 1.9 35 : anton 1.10 \ \ \E prim-states ;s \ 2950159 36 : \ \E prim-states lit \ 2802835 37 : \ \ \E prim-states call \ 2558373 38 : \ \E prim-states @ \ 2244351 39 : \ \E branch-states ?branch \ 1134432 40 : \ \E prim-states lit@ \ 1051813 41 : \ \E prim-states swap \ 737988 42 : anton 1.11 \ \ \E S0 S2 state-prim swap 43 : \ \ \E S1 S2 state-prim swap 44 : \ \ \E S2 S3 state-prim swap 45 : \ \ \E S3 S2 state-prim swap 46 : anton 1.10 \ \E prim-states c@ \ 651406 47 : \ \E prim-states = \ 590006 48 : \ \E prim-states 0= \ 584487 49 : \ \E prim-states dup \ 566855 50 : \ \E S0 S1 state-prim dup 51 : \ \E prim-states + \ 566003 52 : \ \E prim-states i \ 502908 53 : \ \E prim-states +! \ 448925 54 : \ \ \E prim-states branch \ 409561 55 : \ \ \E prim-states (loop) \ 379646 56 : \ \ \E prim-states lp! \ 326743 57 : \ \E prim-states and \ 309427 58 : \ \E prim-states useraddr \ 303254 59 : \ \E prim-states over \ 283556 60 : \ \E S0 S1 state-prim over 61 : anton 1.11 \ \ \E S1 S2 state-prim over 62 : \ \ \E S2 S1 state-prim over 63 : \ \ \E S3 S2 state-prim over 64 : anton 1.10 \ \E prim-states negate \ 257417 65 : \ \E prim-states cells \ 254644 66 : \ \E prim-states rot \ 220273 67 : anton 1.11 \ \ \E S3 S1 state-prim rot 68 : \ \ \E S2 S3 state-prim rot 69 : \ \ \E S1 S3 state-prim rot 70 : \ \ \E S0 S3 state-prim rot 71 : anton 1.10 \ \E prim-states ! \ 218672 72 : \ \E prim-states 2dup \ 211315 73 : anton 1.11 \ \E S0 S1 state-prim 2dup 74 : \ \ \E S0 S2 state-prim 2dup 75 : \ \ \E S1 S3 state-prim 2dup 76 : \ \ \E S2 S2 state-prim 2dup 77 : \ \ \E S3 S1 state-prim 2dup 78 : anton 1.10 \ \ \E branch-states lit-perform \ 188331 79 : \ \E prim-states <> \ 179502 80 : \ \E prim-states c! \ 179332 81 : \ \E prim-states lit+ \ 179156 82 : \ \E prim-states drop \ 173995 83 : \ \E S0 S0 state-prim drop 84 : \ \E prim-states lshift \ 164671 85 : \ \E prim-states /mod \ 164670 86 : \ \E prim-states >r \ 145247 87 : \ \E prim-states r> \ 133792 88 : \ \ \E branch-states does-exec \ 120944 89 : \ \E prim-states cell+ \ 116183 90 : \ \E prim-states lp+!# \ 106697 \ -- 91 : \ \E prim-states - \ 106245 92 : \ \E prim-states unloop \ 98938 \ -- 93 : \ \E prim-states lp+ \ 87190 \ -- 94 : \ \E prim-states >= \ 80994 95 : \ \E prim-states tuck \ 78696 96 : anton 1.11 \ \ \E S2 S2 state-prim tuck 97 : anton 1.10 \ \E prim-states /string \ 78595 98 : \ \E prim-states char+ \ 77542 99 : \ \ \E prim-states ?dup \ 76850 100 : \ \E prim-states @local0 \ 75322 101 : \ \E prim-states min \ 75264 102 : \ \ \E prim-states compare \ 65603 103 : \ \E branch-states (u+do) \ 63823 104 : \ \ \E prim-states (read-line) \ 63823 105 : \ \E prim-states 2>r \ 62646 106 : \ \E prim-states 2r> \ 62644 107 : \ \E prim-states 2r@ \ 61338 108 : \ \E prim-states 2@ \ 61067 109 : \ \E prim-states nip \ 54961 110 : \ \E S1 S1 state-prim nip 111 : \ \E S0 S1 state-prim nip 112 : \ \E prim-states within \ 51075 113 : \ \E prim-states 1- \ 47441 114 : \ \E branch-states execute \ 46674 115 : \ \E prim-states lp- \ 45385 116 : \ \E branch-states perform \ 38756 117 : \ \E prim-states xor \ 35599 118 : \ \E prim-states @local# \ 34586 119 : \ \ \E prim-states pick \ 32015 120 : \ \E prim-states u> \ 29373 121 : \ \E prim-states -rot \ 26211 122 : anton 1.11 \ \ \E S3 S2 state-prim -rot 123 : \ \ \E S1 S3 state-prim -rot 124 : anton 1.10 \ \E prim-states 2drop \ 25418 125 : \ \E S0 S0 state-prim 2drop 126 : \ \E S1 S0 state-prim 2drop 127 : \ \ \E prim-states (tablelfind) \ 22243 128 : \ \E prim-states or \ 21587 129 : \ \E prim-states @local2 \ 20859 130 : \ \E branch-states (+loop) \ 20006 131 : \ \E prim-states 1+ \ 17944 132 : \ \E prim-states rdrop \ 17902 133 : \ \E branch-states (?do) \ 17348 134 : \ \E prim-states max \ 16948 135 : \ \E prim-states 2* \ 15606 136 : \ \ \E prim-states filename-match \ 15003 137 : \ \ \E prim-states (listlfind) \ 13074 138 : \ \ \E prim-states sp@ \ 12741 139 : \ \ \E prim-states fp@ \ 12384 140 : \ \ \E prim-states um/mod \ 12288 141 : \ \E prim-states 2! \ 11904 142 : \ \ \E prim-states fill \ 10781 143 : \ \ \E prim-states (parse-white) \ 10624 144 : \ \E branch-states (do) \ 10516 145 : \ \ \E prim-states (hashkey1) \ 10239 146 : \ \E prim-states u< \ 9602 147 : \ \ \E prim-states write-file \ 8973 148 : \ \E prim-states count \ 8873 149 : \ \ \E prim-states rp@ \ 8410 150 : \ \E prim-states 0< \ 8380 151 : \ \E prim-states < \ 7741 152 : \ \E prim-states @local1 \ 7458 153 : \ \ \E prim-states move \ 7050 154 : \ \E prim-states u>= \ 6138 155 : \ \E branch-states (+do) \ 5863 156 : \ \ \E prim-states va-return-double \ 5517 157 : \ \E prim-states um* \ 5342 158 : \ \E prim-states toupper \ 3517 159 : \ \ \E prim-states f@local1 \ 2907 160 : \ \ \E prim-states rp! \ 2859 161 : \ \ \E prim-states ?dup-?branch \ 2829 162 : \ \E prim-states d+ \ 2671 163 : \ \ \E prim-states ftuck \ 2636 164 : \ \ \E prim-states read-file \ 2623 165 : \ \ \E prim-states ms \ 2454 166 : \ \ \E prim-states (s+loop) \ 2429 167 : \ \ \E prim-states allocate \ 1869 168 : \ \E prim-states * \ 1520 169 : \ \E prim-states 0<> \ 925 170 : \ \ \E prim-states noop \ 715 171 : \ \E prim-states aligned \ 714 172 : \ \E prim-states u<= \ 684 173 : \ \E prim-states i' \ 684 174 : \ \E prim-states > \ 411 175 : \ \ \E prim-states (hashlfind) \ 397 176 : \ \E prim-states 2swap \ 336 177 : anton 1.11 \ \ \E S0 S3 state-prim 2swap 178 : \ \ \E S1 S3 state-prim 2swap 179 : anton 1.10 \ \E prim-states laddr# \ 335 180 : \ \ \E prim-states faxpy \ 286 181 : \ \ \E prim-states (next) \ 272 182 : \ \ \E prim-states (-loop)-lp+!# \ 248 183 : \ \E prim-states <= \ 199 184 : \ \E prim-states invert \ 170 185 : \ \E branch-states (-do) \ 169 186 : \ \E prim-states 2over \ 165 187 : anton 1.11 \ \ \E S0 S2 state-prim 2over 188 : \ \ \E S1 S3 state-prim 2over 189 : anton 1.10 \ \E prim-states under+ \ 154 190 : \ \E prim-states dnegate \ 128 191 : \ \E prim-states u<> \ 128 192 : \ \E prim-states 0> \ 122 193 : \ \ \E prim-states (loop)-lp+!# \ 118 194 : \ \E prim-states j \ 117 195 : \ \E prim-states float+ \ 78 196 : \ \ \E prim-states (for) \ 68 197 : \ \E prim-states 2rdrop \ 60 \ -- 198 : \ \ \E prim-states f! \ 14 199 : \ \E prim-states >l \ 14 200 : \ \ \E prim-states close-file \ 5 201 : \ \ \E prim-states call-c \ 4 202 : \ \ \E prim-states reposition-file \ 3 203 : \ \E prim-states / \ 3 204 : \ \ \E prim-states resize-file \ 2 205 : \ \ \E prim-states free \ 2 206 : \ \E prim-states 2/ \ 2 207 : \ \ \E prim-states up! \ 1 208 : \ \ \E prim-states stdin \ 1 209 : \ \ \E prim-states key?-file \ 1 210 : \ \ \E prim-states flush-icache \ 1 211 : \ \ \E prim-states cmove \ 1 212 : \ \ \E prim-states (system) \ 1 213 : anton 1.9 214 : anton 1.10 \ \E ' noop is output-nextp0 215 : \ \E ' noop is output-nextp1 216 : anton 1.9 217 : anton 1.10 \ \E gen-transitions noop 218 : anton 1.9 219 : anton 1.11 \F [ENDIF]