So I've found out what's going on. For some reason, at least under
x86_64-win64 (probably due to the lack of native support of Extended),
FPC uses the slow generic function for sin (and cos). This is the case
for FPC 3.2.2 and the trunk. I'll be doing some tests.
To clarify what I've been
Hi everyone,
This might be the silliest question, but where are functions like
fpc_sin_real defined and implemented in the compiler, specifically for
x86_64? I'm playing around with a faster algorithm but can't seem to
find the actual files where the code is implemented. Functions like
That saved me so much work! I found the incorrect code - thanks Jonas!
Trunk:
...
mov x0,x22
bl SYSTEM_$$_NEWUNICODESTRING$INT64$$POINTER
mov x23,x0
lsl x2,x22,#1
mov x1,x23
cbnzx20,.Lj3808
adrp
Thanks Jonas - I'll see if I can pinpoint it now.
Gareth aka. Kit
On Sun 23/08/20 13:09 , Jonas Maebe via fpc-devel
fpc-devel@lists.freepascal.org sent:
> On 23/08/2020 12:48, J. Gareth Moreton via fpc-devel wrote:
>
> > I've found a pretty big optimisation that
> benefits most ARM platforms,
On 23/08/2020 12:48, J. Gareth Moreton via fpc-devel wrote:
> I've found a pretty big optimisation that benefits most ARM platforms,
> including AArch64, but I'm getting a few random test failures. My
> investigations suggest that functions like "fpc_chararray_to_unicodestr" and
> other string
Hi everyone,
I've found a pretty big optimisation that benefits most ARM platforms,
including AArch64, but I'm getting a few random test failures. My
investigations suggest that functions like "fpc_chararray_to_unicodestr" and
other string conversion routines are not being optimised properly