raatt.pas, rgobj.pas: replace some *2 loops with 'shl' or 'Bsr'.
This just replaces
l2:=1;
if (l1>=0) and (l1<=16) then
while (l1>0) do
begin
l2:=2*l2;
dec(l1);
end;
l1:=l2;
with
if (l1>=0) and (l1<=16) then
l1:=tcgint(1) shl l1
else
l1:=1;
and
p:=1;
while 2*p<length do
p:=2*p;
with
p:=longword(1) shl BsrDWord(length-1);
in attempt to look like a simplification.
Patch: 2p.patch.