florian
|
9b1861a104
|
+ enable cs_opt_consts on arm as well
|
2024-05-07 22:40:13 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
9ee1821622
|
* arm / a64: Extended the AND; CMP -> ANDS family of optimisations to catch BIC as well as AND
|
2024-04-20 12:55:47 +00:00 |
|
florian
|
c87213085f
|
* overflow checking for generic abs(<int64>)
* fix overflow checking on arm for 64 bit signed numbers
* arm uses generic abs(<int64>)
|
2024-03-29 20:06:23 +01:00 |
|
florian
|
56d84c9283
|
* compilation fixed
|
2024-03-28 18:31:38 +01:00 |
|
florian
|
0efd3afb8c
|
+ arm: internal abs(<int64>)
+ arm: overflow checking for abs(...)
|
2024-03-28 15:56:52 +01:00 |
|
Michaël Van Canneyt
|
4e8b1cb97a
|
* Fixed signature of insert_init_final_table
|
2024-03-05 07:56:14 +00:00 |
|
florian
|
8146443336
|
+ set pi_do_call on ARM as well if we check for fpu exceptions
|
2024-02-17 21:03:55 +01:00 |
|
florian
|
a71cc71585
|
+ function needs_check_for_fpu_exceptions to unify fpu exception handling
|
2024-02-13 17:42:21 +01:00 |
|
Pierre Muller
|
53bf5dc6ef
|
Avoid wrong typecast by adding check that p1 is an instuction before casting it to taicpu
|
2024-02-12 10:39:18 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
271f69db12
|
* arm/a64: "OptPass2AND" and "OptPass2CMP" adapted to remove vestigial CMP and TST instructions
|
2024-02-11 21:39:19 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
6b2e4fa413
|
* arm: "OpCmp2OpS" moved to Pass 2 so it doesn't conflict with AND; CMP -> TST optimisation
|
2024-02-11 21:39:19 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
b18c10d0d8
|
* arm/a64: New "OptPass2TST" routine to catch "TST; B.c; AND -> ANDS; B.c" optimisation
|
2024-02-11 21:39:19 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
9f19f582c4
|
* arm/a64: New AND/CMP -> TST or ANDS optimisation
|
2024-02-11 21:39:19 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
29916bc6f6
|
* arm: Fixed "RegInInstruction" and "RegModifiedByInstruction" not handling the flags properly
|
2024-02-11 21:39:19 +00:00 |
|
florian
|
f7bfa0e426
|
* range checking is already performed in pass_typecheck
|
2024-01-07 17:51:35 +01:00 |
|
Pierre Muller
|
6e9521d99a
|
Fix for trunk arm STM optimize bug
|
2023-11-12 18:22:19 +00:00 |
|
ccrause
|
652f21b656
|
RP2040 support based on modification by Michael Ring (https://github.com/michael-ring/freepascal).
|
2023-11-11 17:45:23 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
c4061e49e6
|
* ARM: Fixed issue where some offsets of ADR assembly instructions
were incorrectly encoded by the internal assembler
|
2023-10-22 12:04:05 +00:00 |
|
florian
|
be401422fd
|
* more warnings after last commit fixed
|
2022-10-24 22:52:52 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
d6ff4ed967
|
* arm/a64: New sbfx/ubfx -> mov optimisation
|
2022-07-30 18:36:16 +00:00 |
|
Jonas Maebe
|
2ed4071c1e
|
ARM: fixed compiler compilation after 75c16b6126
|
2022-07-24 15:00:49 +02:00 |
|
Jonas Maebe
|
75c16b6126
|
llvm: support for getting the llvm rtl (rt) architecture name
This is the name used as part of the llvm rt libraries, like
asan (address sanitizer)
|
2022-07-24 14:36:13 +02:00 |
|
J. Gareth "Curious Kit" Moreton
|
d1f035f456
|
* arm: Labels to constants are now data labels and not jump labels
|
2022-07-15 17:03:10 +00:00 |
|
J. Gareth "Curious Kit" Moreton
|
be39828fca
|
* arm: Symbol reference counts are corrected when PC-relative data is inserted
|
2022-07-15 17:03:10 +00:00 |
|
florian
|
83ce54b815
|
set Tag_ABI_VFP_args to 1 only if the hard float abi is used, should resolve #39817
|
2022-06-30 22:02:11 +02:00 |
|
Jonas Maebe
|
03a961709b
|
arm paramanager: always create at least one paraloc
Even for parameters of 0 bytes. Matches behaviour on other targets.
|
2022-06-13 22:52:27 +02:00 |
|
Pierre Muller
|
2cdbdcd5c5
|
Manually increase refs of newly created labelsymbol in insertpcrelativedata
|
2022-05-31 14:26:00 +00:00 |
|
Sven/Sarah Barth
|
7f3a5eb9ab
|
* extend tabstractprocdef.getcopyas by a parameter to control whether the copy should be registered or not
|
2022-05-26 21:42:59 +02:00 |
|
florian
|
27fb9086aa
|
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
|
2022-03-08 23:03:18 +01:00 |
|
florian
|
2a93e65511
|
* seperator => separator
|
2022-01-02 13:12:33 +01:00 |
|
florian
|
6404478ea4
|
* cleanup of VER3_0 defines
|
2021-11-17 22:19:57 +01:00 |
|
florian
|
9423d5e390
|
+ fp-armv8 fpu type added
|
2021-11-06 11:00:53 +01:00 |
|
florian
|
9feafc7bd7
|
+ ARM: started on vfpv5 support
|
2021-11-05 23:05:38 +01:00 |
|
florian
|
ff3acfb8cd
|
* cleanup of 2.7.0 defines
|
2021-10-31 13:20:28 +01:00 |
|
florian
|
bbcc396644
|
* ARM: fix for Merge Add/Sub optimization
git-svn-id: trunk@49520 -
|
2021-06-21 21:36:32 +00:00 |
|
florian
|
356afdd25b
|
* ARM (thumb): do not save registers in routines marked as noreturn
git-svn-id: trunk@49519 -
|
2021-06-20 18:14:30 +00:00 |
|
florian
|
50648f2a60
|
+ ARM: PushPop optimziation
git-svn-id: trunk@49510 -
|
2021-06-17 21:12:08 +00:00 |
|
florian
|
e1d9d1be0a
|
+ Merge Add/Sub optimization
git-svn-id: trunk@49508 -
|
2021-06-16 19:53:56 +00:00 |
|
florian
|
3f8aeadb91
|
* do not generate exit code for arm (thumb and thumb-2) if a routine is marked as noreturn
git-svn-id: trunk@49506 -
|
2021-06-15 20:09:46 +00:00 |
|
florian
|
7ee31ae252
|
* optimization "Merging stores: STR/STR -> STM" cannot be carried out when generating thumb code
git-svn-id: trunk@49503 -
|
2021-06-15 19:05:34 +00:00 |
|
florian
|
776667366f
|
* patch by J. Gareth Moreton: ARM - str/str -> stm optimisation, second part of #38975
git-svn-id: trunk@49499 -
|
2021-06-13 20:46:46 +00:00 |
|
florian
|
214936b90e
|
* patch by J. Gareth Moreton: refactoring to standardise the "Peephole Optimization: " prefix on peephole debug messages, part of #38975
git-svn-id: trunk@49493 -
|
2021-06-09 18:31:52 +00:00 |
|
florian
|
134bc7eb42
|
* ARM: split TCpuThumb2AsmOptimizer.PeepHoleOptPass1Cpu
git-svn-id: trunk@49489 -
|
2021-06-07 21:20:43 +00:00 |
|
florian
|
814b68fac0
|
* more fixes for VASM for ARM
git-svn-id: trunk@49398 -
|
2021-05-23 19:46:40 +00:00 |
|
florian
|
e9b3db0d78
|
* more fixes to support vasm on arm
* do not crash on empty eabi attribute strings
git-svn-id: trunk@49397 -
|
2021-05-22 20:22:53 +00:00 |
|
florian
|
929fc50004
|
* cleanup
git-svn-id: trunk@49349 -
|
2021-05-10 20:30:31 +00:00 |
|
florian
|
8535c758ef
|
+ initial support for ARMv2
* check for unassigned valuestr when writing ntbs eabi attributes
git-svn-id: trunk@49348 -
|
2021-05-09 20:42:31 +00:00 |
|
florian
|
4ab310e0ed
|
+ ARM: basic vasm support
git-svn-id: trunk@49347 -
|
2021-05-08 20:48:59 +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
|
0ffd4f8780
|
* fix compilation of arm compiler on 32 bit hosts
git-svn-id: trunk@49281 -
|
2021-04-27 16:36:40 +00:00 |
|