florian
d7a9a73194
+ stack pages need to be touched on aarch64-win64 as well
...
git-svn-id: trunk@49559 -
2021-06-24 20:02:26 +00:00
florian
e841e95390
* aarch64-darwin supports unaligned memory access, confirmed by testing with clang 12
...
git-svn-id: trunk@49469 -
2021-06-02 20:03:55 +00:00
florian
5e3efa4455
* Aarch64: apply OptPass1Data to CSEL as well
...
git-svn-id: trunk@49414 -
2021-05-30 18:08:37 +00:00
florian
964c04aded
* patch by J. Gareth Moreton, second part of #38841
...
git-svn-id: trunk@49341 -
2021-05-06 18:44:18 +00:00
florian
d936280c6b
* (modified) patch by J. Gareth Moreton to unify ldr/str optimizations on Aarch64/ARM, part of #38841
...
git-svn-id: trunk@49338 -
2021-05-05 20:38:05 +00:00
florian
210674b9a0
* patch by J. Gareth Moreton: AArch64: Improved speed and efficiency with constant generation, resolves #38837
...
git-svn-id: trunk@49321 -
2021-05-01 18:56:25 +00:00
Jonas Maebe
5ca1e37fb6
* AArch64: fix spilling information for BFI
...
git-svn-id: trunk@49312 -
2021-05-01 13:58:07 +00:00
pierre
5ef44c550a
Avoid range/overflow error after commit #49290
...
git-svn-id: trunk@49298 -
2021-04-30 09:55:11 +00:00
florian
256ca9d210
* patch by J. Gareth Moreton: AArch64 "magic division"
...
(replace division by constant with multiplication), part of #38806
git-svn-id: trunk@49290 -
2021-04-29 19:48:54 +00:00
pierre
595edf6f9b
Use as-clang as idtxt for as_aarch64_clang_gas_info
...
git-svn-id: trunk@49287 -
2021-04-28 23:03:47 +00:00
pierre
db02c7c85a
Add -march=XXX option for aarch64 external assemblers
...
git-svn-id: trunk@49269 -
2021-04-26 21:10:25 +00: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
Jonas Maebe
7c9fb4b4af
* AArch64: fix storing a 32 bit value in the lower 32 bits of a 64 bit
...
subsetreg (mantis #38766 )
git-svn-id: trunk@49236 -
2021-04-19 20:52:12 +00:00
florian
77681333f5
* patch by J. Gareth Moreton: AArch64 OptPass1Shift register tracking fault fix, resolves #38691
...
git-svn-id: trunk@49235 -
2021-04-19 19:54:39 +00:00
florian
d53b17cadc
+ Aarch64: completed LSE support for all interlocked operations
...
git-svn-id: trunk@49212 -
2021-04-16 19:33:31 +00:00
Jonas Maebe
bb977b398d
* AArch64: fix spilling integer registers to stack offsets that cannot be
...
encoded directly into the spilling instructions (second part of
mantis #38053 )
git-svn-id: trunk@49207 -
2021-04-14 20:56:32 +00:00
Jonas Maebe
4b4ae79609
* AArch64: fixed spilling info for MOVK (part of mantis #38053 )
...
git-svn-id: trunk@49206 -
2021-04-14 20:56:29 +00:00
Jonas Maebe
d8021a1102
+ FreeBSD/AArch64 support (patch by Mikaël Urankar, mantis #38441 )
...
git-svn-id: trunk@49157 -
2021-04-10 07:57:28 +00:00
Jonas Maebe
ca399f3c71
* don't generate high-level CFI statements when the selected assembler
...
does not support them, even if the target normally uses them
o fixes assembling with -Aas-darwin for i386/arm/x86-64 (on OS
versions that used those)
git-svn-id: trunk@49138 -
2021-04-08 19:50:27 +00:00
florian
c90616944d
+ Aarch64: create better code for not(<byte>)
...
git-svn-id: trunk@49135 -
2021-04-08 17:21:59 +00:00
florian
f3d8efc8ec
* Aarch64: support LSE instructions
...
git-svn-id: trunk@49112 -
2021-04-03 11:30:23 +00:00
florian
f38f9ff930
* Aarch64: cpu capabilites defines properly named
...
* Aarch64: enable defining cpu capabilites
git-svn-id: trunk@49108 -
2021-04-02 20:57:12 +00:00
florian
bf65bad5c5
+ Aarch64: cpu_capabilities support
...
git-svn-id: trunk@49105 -
2021-04-02 17:08:34 +00:00
florian
f0023a3b04
* Aarch64: patch by J. Gareth Moreton: fix constant writing, resolves #38695
...
+ test
git-svn-id: trunk@49104 -
2021-04-02 16:44:43 +00:00
Jonas Maebe
cfa3f4fa8c
+ added b.cc/b.cs support to AArch64 assembler reader (mantis #38485 )
...
git-svn-id: trunk@48803 -
2021-02-24 15:40:22 +00:00
florian
ef8d520e82
* more cfi support for aarch64
...
git-svn-id: trunk@48714 -
2021-02-18 21:44:12 +00:00
florian
599ba8cc2a
+ generate initial cfi for aarch64
...
git-svn-id: trunk@48701 -
2021-02-17 20:43:37 +00:00
yury
75491ae21c
* Removed/ifdefed the assigned and unused variables.
...
git-svn-id: trunk@48391 -
2021-01-24 13:58:17 +00:00
yury
64c586b86d
* Removed/ifdefed lots of unused variables.
...
git-svn-id: trunk@48384 -
2021-01-24 12:24:01 +00:00
florian
2519fb1266
* patch by J. Gareth Moreton: aarch64 EXTDEBUG fixes and extensions, resolves #38383
...
git-svn-id: trunk@48337 -
2021-01-22 22:02:44 +00:00
florian
072be7b0f7
* Aarch64: fix 32 bit div operations with constant denominators, resolves #38225
...
git-svn-id: trunk@47812 -
2020-12-18 21:39:35 +00:00
pierre
eb722c8294
Fix ash_savefregp_x handling, as revealed by range check error
...
git-svn-id: trunk@47773 -
2020-12-14 11:21:10 +00:00
pierre
44b325ec3e
* Initialize result out parameter by caling the constructor Init, not the method Reset.
...
This out parameter called 'result' is of type tcgpara, which is an object, but not a class,
it has no virtual method, which means that the VMT is never used, and thus the
fact that the object is not 'constructed' can be easily missed.
Nevertheless, it could generate problems as the different fields have unassigned
and thus random value, while reset method can dereference location field
if not nil.
Issue found by using -gttt compiler option.
git-svn-id: trunk@47711 -
2020-12-07 16:35:46 +00:00
florian
4c0dac4864
+ Aarch64: implemented FMovFMov2FMov, not yet used
...
git-svn-id: trunk@47534 -
2020-11-22 21:20:51 +00:00
florian
ef1ba48cc4
+ Aarch64: call OptPass1FData for FMA instructions as well
...
git-svn-id: trunk@47533 -
2020-11-22 21:19:51 +00:00
florian
76406dbc36
+ implement prefetch intrinsic for aarch64
...
git-svn-id: trunk@47526 -
2020-11-22 10:27:06 +00:00
pierre
3d374727dd
Move explicit typecast to after check to avoid RTE when compiled with -CR
...
git-svn-id: trunk@47367 -
2020-11-09 21:19:40 +00:00
pierre
b8e6610617
Add explicit longint typecast to avoid range check errors with unwindrec longword variable
...
git-svn-id: trunk@47231 -
2020-10-28 09:46:02 +00:00
pierre
3f19bd693f
+ Add new LastCommonAsmOp constant to arm and aarch64 CPU targets.
...
* Uses this new constant to define TCommonAsmOps set type.
+ Use this constant in armgen/aoptarm MatchInstruction function,
to avoid a range check error when compiling with -CriotR with optimization.
git-svn-id: trunk@47137 -
2020-10-19 09:19:25 +00:00
Jonas Maebe
9376f5a43a
* AArch64: added SIMD instructions (only plain ARMv8-A for now)
...
o added AArch64 regset parsing support in assembler reader, means that "{"
no longer starts comments there (like in the ARM assembler reader)
o added AArch64 indexed SIMD register support and removed old cg hacks
that worked around its absence
git-svn-id: trunk@47116 -
2020-10-15 20:29:36 +00:00
svenbarth
7dff106d14
* use the name of the symbol instead of the name of the section as the later is always lowercased
...
git-svn-id: trunk@47109 -
2020-10-14 09:11:37 +00:00
svenbarth
5e6ec33a59
* reset the stored symbol for SEH data once a new section is encountered
...
git-svn-id: trunk@47108 -
2020-10-14 09:11:32 +00:00
svenbarth
0c2494bec8
* when setting up the symbol for the SEH data don't check whether it is global, instead check whether it's a function
...
git-svn-id: trunk@47107 -
2020-10-14 09:11:27 +00:00
florian
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
...
git-svn-id: trunk@47103 -
2020-10-13 19:59:01 +00:00
florian
eec51afadd
* patch (with little modification) by J. Gareth Moreton: refactor ARM/Aarch64 peephole optimizer, first part of #37526
...
git-svn-id: trunk@46975 -
2020-09-27 21:05:42 +00:00
florian
4de5195a9a
+ modified patch by J. Gareth Moreton: Aarch64: LDR/STR pairing optimisation, resolves #37580
...
git-svn-id: trunk@46917 -
2020-09-22 19:51:42 +00:00
florian
8057651e8d
* Aarc64: generate code for floating point exception checking which does not destroy
...
the flags so it works also with floating point comparisons
git-svn-id: trunk@46871 -
2020-09-15 21:08:57 +00:00
pierre
8aa844e2fe
Fix compilation with -dEXTDEBUG for aarch64
...
git-svn-id: trunk@46690 -
2020-08-25 14:33:22 +00:00
florian
f72f021da4
+ AAarch64: FMovFMov2FMov optimization
...
git-svn-id: trunk@46461 -
2020-08-16 16:26:39 +00:00