On 27 May 2006, at 11:01, Bisma Jayadi wrote:

I agree with Michael. And I think the line is clearly drawn. The FPC (and more importantly the language syntax itself) design goal, as I understand it, is to be, as much as possible, platform and architecture independent and

I believe the bit rotation support can be made platform and architecture indepedent. This operation obviously needed regardless the platform or the architecture. It is very important for calculation algorithms and the implementation (e.g. simulation, graphics, encoding, math, etc) and that's why it IS available almost on all modern architectures. Is there any platform/ architecture that does not require or provide this operation?

It is possible to implement a peephole optimization to change the shift/or into the native variant of rol/ror if it exists. 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).

doesn't need to be "polluted" by adding esoteric functions/(worst yet)operators becuase they are neat on one particular type of machine and we just program around them everywhere else.

As function it'll pollute pascal syntax,

Functions never pollute a syntax, since they are inherently part of the syntax.

but not if it is as operator. And clearly the bit rotation operation is not esoteric. It's just like the reason why shl/shr operator exist. Make rol/ror as operator even make FPC syntax more clear and clean. If shl/shr can exist as operator, then why ror/rol can't?

As explained earlier, for rol/ror the size of the operands matters. For shl/shr it doesn't, and the compiler can covert all operands to the native word size before performing the operation (just like it does for all other mathematical and logical operations).

The problem is... almost everyone need it.

That is not true, unless almost everyone implements cryptographic algorithms.

Even the compiler itself! Like what Florian has told us in this thread. :)

No, the compiler doesn't need it. The post from Florian was about a unit in packages.


Jonas
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to