Commit Graph

16 Commits

Author SHA1 Message Date
J. Gareth "Curious Kit" Moreton
77c86cafd0 * a64: Fixed bug where unsigned min/max inlines used a signed comparison 2024-03-26 14:18:31 +00:00
J. Gareth "Curious Kit" Moreton
81b7b80749 * Added support for 64-bit min/max intrinsics 2024-03-26 14:18:31 +00:00
florian
20f9b82543 * AArch64: overflow checking for abs
* tabs adapted: also abs(longint) must overflow check on 64 bit platforms
2024-03-24 12:47:16 +01:00
florian
a71cc71585 + function needs_check_for_fpu_exceptions to unify fpu exception handling 2024-02-13 17:42:21 +01:00
florian
3ed5a4a022 + when calling FPC_THROWFPUEXCEPTION in a sub routine, pi_do_call must be set, fixed for aarch64 2024-02-12 23:25:35 +01:00
florian
e443936e12 + in_min/max_dword/longint support for aarch64 2021-12-19 16:16:44 +01:00
florian
77b9d62520 + in_min/max_single/double support for aarch64 2021-12-18 21:23:21 +01:00
florian
5557dbedf2 + Aarch64: directly inline code for frac(...)
git-svn-id: trunk@49261 -
2021-04-25 09:26:47 +00:00
florian
cd3570caf1 + Aarch64: use frintz for int(...) instead of creating a helper call
git-svn-id: trunk@49260 -
2021-04-25 08:53:12 +00:00
florian
76406dbc36 + implement prefetch intrinsic for aarch64
git-svn-id: trunk@47526 -
2020-11-22 10:27:06 +00:00
florian
078595be4c + support for software floating point exception handling on AArch64 (-CE)
git-svn-id: trunk@42891 -
2019-09-01 17:26:11 +00:00
florian
9c00a8b616 + FMA support for aaarch64
git-svn-id: trunk@42885 -
2019-08-31 19:37:17 +00:00
yury
4357caaad8 * Removed unused local vars.
git-svn-id: trunk@40183 -
2018-11-02 18:44:29 +00:00
Jonas Maebe
41fba0c4f7 * switched to using the stack pointer as base register for the temp allocator
instead of the frame pointer register:
      1) we exactly know the offsets of the temps from the stack pointer
         after pass 1 (based on the require parameter stack size for called
         routines), while we don't know it for the frame pointer (it depends
         on the number of saved registers)
      2) temp offsets from the stack pointer are positive while those from
         the frame pointer are negative, and we can directly encode much
         bigger positive offsets in the instructions
   o move the stack pointer register to a virtual register in
     loadparentfpn, because many instructions cannot directly operate
     on/with the stack pointer
   o add the necessary register interference edges for the stack pointer
     register

git-svn-id: trunk@29938 -
2015-02-23 22:54:03 +00:00
Jonas Maebe
5da379ab3f + inlined support for round/trunc on AArch64
git-svn-id: trunk@29923 -
2015-02-23 22:53:07 +00:00
Jonas Maebe
8a444ed96a + initial implementation of aarch64 inline nodes
git-svn-id: trunk@29865 -
2015-02-23 22:50:04 +00:00