Menu

#877 Rotation iCode

None
closed-fixed
None
5
2023-07-28
2023-05-31
No

A ROT operation that rotates left could be introduced, with the right operand being the number of bits to rotate should be introduced.
This would:

  • Make rotation handling more like left shift handling
  • Replace RLC, RRC and SWAP (by ROT with right operand 1, -1 and leftwidth / 2)
  • Allow backends to emit code directly for more rotations (e.g. making better use of the brlc instruction on z80n).
  • Prepare for C2Y rotation functions.

Related

Bugs: #3592

Discussion

  • Philipp Klaus Krause

    Implemented in the next branch in [r14098].

     

    Related

    Commit: [r14098]

    • Philipp Klaus Krause

      By now, many of the optimizations possible with the new ROT iCode have been implemented in the next branch.

       
  • Philipp Klaus Krause

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -3,4 +3,4 @@
    
     * Make rotation handling more like left shift handling
     * Replace RLC, RRC and SWAP (by ROT with right operand 1, -1 and leftwidth / 2)
     * Allow backends to emit code directly for more roations (e.g. making better use of the brlc instructionon z80n).
    -* Prepare for C2X rotation functions.
    +* Prepare for C2Y rotation functions.
    
    • Group: -->
     
  • Philipp Klaus Krause

    • Description has changed:

    Diff:

    --- old
    +++ new
    @@ -2,5 +2,5 @@
     This would:
    
     * Make rotation handling more like left shift handling
     * Replace RLC, RRC and SWAP (by ROT with right operand 1, -1 and leftwidth / 2)
    -* Allow backends to emit code directly for more roations (e.g. making better use of the brlc instructionon z80n).
    +* Allow backends to emit code directly for more rotations (e.g. making better use of the brlc instruction on z80n).
     * Prepare for C2Y rotation functions.
    
     
  • Philipp Klaus Krause

    • status: open --> closed-fixed
    • assigned_to: Philipp Klaus Krause
     
  • Philipp Klaus Krause

    Implemented by merging the next branch to trunk a while ago.

     

Log in to post a comment.