[fpc-pascal] rotating bits
Jonas Maebe
jonas.maebe at elis.ugent.be
Sun May 28 15:51:44 CEST 2006
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
More information about the fpc-pascal
mailing list