On 28 May 2006, at 15:45, Florian Klaempfl wrote:
It is possible to implement a peephole optimization to change the
shift/or into the native variant of rol/ror if it exists.
The code currently generated is rather lengthy.
Of course, but it's going to be a pretty consistent pattern which can
be recognised by the peephole optimizer (if someone implements it).
And I don't
think any architecture apart from x86 support rol/ror for anything
but
the native word size (at least ppc doesn't).
But it can be done on ppc with two rlw* instructions which is also ok,
no?
I think it needs three: to to rotate left/right, one to insert the
overflow at the end/start, and one to mask the overfow at the end/
start. But peephole optimizations to turn a number of shift and or
operations into a sequence of rlw* is needed for ppc anyway (e.g. for
record regvars).
Jonas
_______________________________________________
fpc-pascal maillist - fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal