|
179 | 179 | (eq! MMIO_INSTRUCTION (mmio_inst_weight))) |
180 | 180 |
|
181 | 181 | (defun (fast-op-flag-sum) |
182 | | - (force-bool (+ IS_LIMB_VANISHES |
183 | | - IS_LIMB_TO_RAM_TRANSPLANT |
184 | | - IS_RAM_TO_LIMB_TRANSPLANT |
185 | | - IS_RAM_TO_RAM_TRANSPLANT |
186 | | - IS_RAM_VANISHES))) |
| 182 | + (+ IS_LIMB_VANISHES |
| 183 | + IS_LIMB_TO_RAM_TRANSPLANT |
| 184 | + IS_RAM_TO_LIMB_TRANSPLANT |
| 185 | + IS_RAM_TO_RAM_TRANSPLANT |
| 186 | + IS_RAM_VANISHES)) |
187 | 187 |
|
188 | 188 | (defconstraint fast-op () |
189 | 189 | (eq! FAST (fast-op-flag-sum))) |
190 | 190 |
|
191 | 191 | (defun (slow-op-flag-sum) |
192 | | - (force-bool (+ IS_LIMB_TO_RAM_ONE_TARGET |
193 | | - IS_LIMB_TO_RAM_TWO_TARGET |
194 | | - IS_RAM_TO_LIMB_ONE_SOURCE |
195 | | - IS_RAM_TO_LIMB_TWO_SOURCE |
196 | | - IS_RAM_TO_RAM_PARTIAL |
197 | | - IS_RAM_TO_RAM_TWO_TARGET |
198 | | - IS_RAM_TO_RAM_TWO_SOURCE |
199 | | - IS_RAM_EXCISION))) |
| 192 | + (+ IS_LIMB_TO_RAM_ONE_TARGET |
| 193 | + IS_LIMB_TO_RAM_TWO_TARGET |
| 194 | + IS_RAM_TO_LIMB_ONE_SOURCE |
| 195 | + IS_RAM_TO_LIMB_TWO_SOURCE |
| 196 | + IS_RAM_TO_RAM_PARTIAL |
| 197 | + IS_RAM_TO_RAM_TWO_TARGET |
| 198 | + IS_RAM_TO_RAM_TWO_SOURCE |
| 199 | + IS_RAM_EXCISION)) |
200 | 200 |
|
201 | 201 | (defconstraint slow-op () |
202 | 202 | (eq! SLOW (slow-op-flag-sum))) |
203 | 203 |
|
204 | 204 | (defun (op-flag-sum) |
205 | | - (force-bool (+ (fast-op-flag-sum) (slow-op-flag-sum)))) |
| 205 | + (+ (fast-op-flag-sum) (slow-op-flag-sum))) |
206 | 206 |
|
207 | 207 | (defconstraint no-stamp-no-op () |
208 | 208 | (eq! (op-flag-sum) (~ STAMP))) |
|
220 | 220 | (eq! (weighted-exo-sum) (* (instruction-may-provide-exo-sum) EXO_SUM))) |
221 | 221 |
|
222 | 222 | (defun (instruction-may-provide-exo-sum) |
223 | | - (force-bool (+ IS_LIMB_VANISHES |
224 | | - IS_LIMB_TO_RAM_TRANSPLANT |
225 | | - IS_LIMB_TO_RAM_ONE_TARGET |
226 | | - IS_LIMB_TO_RAM_TWO_TARGET |
227 | | - IS_RAM_TO_LIMB_TRANSPLANT |
228 | | - IS_RAM_TO_LIMB_ONE_SOURCE |
229 | | - IS_RAM_TO_LIMB_TWO_SOURCE))) |
| 223 | + (+ IS_LIMB_VANISHES |
| 224 | + IS_LIMB_TO_RAM_TRANSPLANT |
| 225 | + IS_LIMB_TO_RAM_ONE_TARGET |
| 226 | + IS_LIMB_TO_RAM_TWO_TARGET |
| 227 | + IS_RAM_TO_LIMB_TRANSPLANT |
| 228 | + IS_RAM_TO_LIMB_ONE_SOURCE |
| 229 | + IS_RAM_TO_LIMB_TWO_SOURCE)) |
230 | 230 |
|
231 | 231 | ;; |
232 | 232 | ;; Heartbeat |
|
235 | 235 | (vanishes! MMIO_STAMP)) |
236 | 236 |
|
237 | 237 | (defconstraint stamp-increment () |
238 | | - (any! (will-remain-constant! STAMP) (will-inc! STAMP 1))) |
| 238 | + (or! (will-remain-constant! STAMP) (will-inc! STAMP 1))) |
239 | 239 |
|
240 | 240 | (defconstraint stamp-reset-ct () |
241 | 241 | (if-not-zero (- STAMP (prev STAMP)) |
|
0 commit comments