On 19/05/2015 13:56, Jonas Maebe wrote:


On x86-64, x shr 64 = x, for any value of x. On i386, x shr 32 = x, for any value of x. For PowerPC (32 bit), x shr y = 0 if bit 5 of y is set, otherwise it's (x shr (y mod 32)). Really, there are very good reasons to treat this kind of stuff as undefined (unless you want to build a language for which the speed of compiled code is irrelevant). That's also why range/overflow checking exists as an option: to enable you to still catch such cases if you want, but to not burden all code all the time with these checks.

Ok
_______________________________________________
fpc-devel maillist  -  [email protected]
http://lists.freepascal.org/cgi-bin/mailman/listinfo/fpc-devel

Reply via email to