1 comments

  • rep_lodsb1 hour ago
    Implementing rotate through carry like that was a really bad decision IMO - it&#x27;s almost never by more than one bit left or right at a time, and this could be done much more efficiently than with the constant-time code which is only faster when the count is &gt; 6.<p>Is the full microcode available anywhere?
    • ajenner40 minutes ago
      I haven&#x27;t published it yet as there are still some rough edges to clear up, but if you email me (andrew@reenigne.org) I&#x27;ll send you the current work-in-progress (the same one that nand2mario is working from).
    • kjs350 minutes ago
      Since the shifter is also used for bit tests, the &#x27;most things are a 1-bit shift&#x27; might not be the case. Perhaps they did the analysis and it made sense.
      • rep_lodsb14 minutes ago
        There are separate opcodes for shift&#x2F;rotate by 1, by CL, or by an immediate operand. Those are decoded to separate microcode entry points, so they could have at least optimized the &quot;RCL&#x2F;RCR x,1&quot; case.<p>And the microcode for bit test has to be different anyway.