[fpc-devel] data alignment
Florian Klaempfl
florian at freepascal.org
Sat Aug 13 10:58:22 CEST 2005
Jan Ruzicka wrote:
> Hi Rostya and Florian
>
> Is there a way to align code? (specially in loops.)
> A Profiler is complaining about an unaligned loop.
> It gives following suggestion:
> "... With gcc, use the -falign-loops=16 compiler flag (broken in gcc
> 3.1; gcc 3.3 or later should be used)."
You can use -OaLOOP=16 with fpc. However, at least on my machines
(mostly AMDs) I never saw an effect of this except in very synthetic
benchmarks compared with the standard value 4.
> I am using Shark on OSX 10.3.9 .
>
> Is there any way to pass parameters to an assembler and/or linker ?
Assembler: no
Linker: -k
>
> Jan
>
> On Aug 12, 2005, at 03:39, Florian Klaempfl wrote:
>
>> Ростислав Окулов wrote:
>>
>>> How I can aligh data in FPC like in C?
>>>
>>> struct __declspec(align(16)) VECTOR4F
>>> {
>>> float x;
>>> float y;
>>> float z;
>>> float w;
>>> };
>>
>>
>> FPC can align local data only up to 4 byte boundaries. Aligning to 16
>> byte
>> boundaries done by the compiler requires too much extra code because
>> at every
>> procedure entry the stack must be realigned so causing often a slow down.
>>
>> _______________________________________________
>> fpc-devel maillist - fpc-devel at lists.freepascal.org
>> http://lists.freepascal.org/mailman/listinfo/fpc-devel
>>
>
>
> _______________________________________________
> fpc-devel maillist - fpc-devel at lists.freepascal.org
> http://lists.freepascal.org/mailman/listinfo/fpc-devel
More information about the fpc-devel
mailing list