J. Gareth "Curious Kit" Moreton
2a50d5abf8
* ARMv7A / A64: Constant writes to memory merged to larger forms where possible
2024-11-03 15:02:51 +00:00
florian
90cc6db5cb
* armv7 should a synonyme for arm7a
2024-08-28 20:27:09 +01:00
florian
9b1861a104
+ enable cs_opt_consts on arm as well
2024-05-07 22:40:13 +02: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
florian
27fb9086aa
* cleanup: cs_opt_loopunroll is a generic optimization for a long time already
2022-03-08 23:03:18 +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
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
Jeppe Johansen
1105726dcf
* Add SAMD51P19A controller type. Unit generated by Michael Ring and slightly modified.
...
git-svn-id: trunk@49034 -
2021-03-22 18:40:12 +00:00
florian
7f1aac8bd7
- armv5 never existed (without extension), removed
...
git-svn-id: trunk@48652 -
2021-02-11 21:27:12 +00:00
florian
8ac8c79a71
+ initial support for arm-freertos largely based on patch by Michael Ring
...
git-svn-id: trunk@44871 -
2020-04-19 20:59:52 +00:00
florian
7c2c8581b7
* get rid of fpu_vfp_first/last hack
...
git-svn-id: trunk@44716 -
2020-04-13 17:27:46 +00:00
florian
38c32bcada
* reorganized arm cpu flags
...
git-svn-id: trunk@44703 -
2020-04-12 14:24:56 +00:00
florian
497ff94cb0
+ fpu_fpv4_sp_d32
...
* some fixes to make fpv4-sp-d32 work
git-svn-id: trunk@44702 -
2020-04-12 14:24:56 +00:00
Jonas Maebe
592df7fa59
* disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
...
that itself, our LLVM code generator can't handle it, and if it did then
afterwards we would have to spill 90% of those register variables again
to make them SSA)
git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
florian
7b4292c94e
* patch by Robert Roland to support the RaspberryPi 2 as a bare metal embedded target, resolves #35236
...
git-svn-id: trunk@44027 -
2020-01-23 21:14:49 +00:00
florian
ef87879402
* common naming for fpu_none string
...
git-svn-id: trunk@43768 -
2019-12-24 16:14:28 +00:00
florian
245b58c249
+ support for arm attributes
...
* abi notes fixed
git-svn-id: trunk@43157 -
2019-10-09 17:45:40 +00:00
florian
c418d63c16
+ create defines with FPU capabilites
...
+ make use of FPU capability defines in the rtl
git-svn-id: trunk@42681 -
2019-08-13 22:12:49 +00:00
florian
85edf1c1eb
* reworked arm vfp capability handling to use fpu_capabilites
...
git-svn-id: trunk@42679 -
2019-08-13 18:41:15 +00:00
florian
46bac33a2d
+ fpu_capabilities for arm
...
* some code converted to use fpu_capabilities
git-svn-id: trunk@42536 -
2019-07-30 21:04:28 +00:00
pierre
828a248287
Systematically include fpcdefs.inc at sart of all units used by compiler
...
git-svn-id: trunk@42322 -
2019-07-03 13:35:05 +00:00
Jonas Maebe
9d07e4948f
* fix compilation of ARM compiler for LLVM
...
git-svn-id: branches/debug_eh@41210 -
2019-02-03 21:09:54 +00:00
florian
5b755661d8
+ patch by Simon Ameis: adds all the STM32F091* microcontroller units to the list of supported ARM MCUs, resolves issue #32484
...
git-svn-id: trunk@37378 -
2017-10-01 18:59:01 +00:00
florian
73c46a5988
- removed unused constants
...
git-svn-id: trunk@35664 -
2017-03-26 13:06:34 +00:00
Jeppe Johansen
7e75457a3e
Added more Nordic Semi controllers. Created a new unit for NRF52x controllers with a more precise register naming following Nordic SDK conventions.
...
Patch from Paul Mitchell.
git-svn-id: trunk@35274 -
2017-01-10 20:30:20 +00:00
Jeppe Johansen
6a1c1e4f29
Added support for NRF52832 controllers.
...
git-svn-id: trunk@34170 -
2016-07-22 10:01:10 +00:00
florian
cb4773432b
+ hardfloat directive (arm only): use hard float calling conventions regardless of the abi, resolves #29715
...
git-svn-id: trunk@33196 -
2016-03-06 15:47:31 +00:00
florian
1c067e96bf
* fix VFPv4 support
...
git-svn-id: trunk@33182 -
2016-03-06 13:33:16 +00:00
Jeppe Johansen
9aa3c23b18
Added a bunch of new and fixed embedded controller units. From Michael Ring.
...
git-svn-id: trunk@32386 -
2015-11-21 10:30:49 +00:00
Jeppe Johansen
3cb9be73bc
Moved tcontrollerdatatype out into cpuinfo.
...
Added cputype and fputype info to tcontrollerdatatype arrays.
git-svn-id: trunk@31574 -
2015-09-07 20:36:54 +00:00
Jeppe Johansen
dac294c680
Fix ARMv3/ARMv2A support.
...
git-svn-id: trunk@31561 -
2015-09-06 20:33:26 +00:00
Jeppe Johansen
2b80d46492
Added STM32F7xx controller units and types.
...
git-svn-id: trunk@31257 -
2015-07-31 22:21:16 +00:00
Jeppe Johansen
36dfe750d8
Added Freescale MK20D7 controller support.
...
git-svn-id: trunk@30925 -
2015-05-28 11:46:22 +00:00
Jeppe Johansen
65a69129c5
Add initial support for STM32F429 core
...
git-svn-id: trunk@30599 -
2015-04-14 21:55:37 +00:00
Jeppe Johansen
fa5bd1c513
ARMv7M supports UMULL.
...
Fix missing conflicts for multiplication instructions for >=ARMv6.
git-svn-id: trunk@30276 -
2015-03-22 14:39:43 +00:00
Jeppe Johansen
64f127141f
Add VFPv4 FPU type for ARM.
...
Fix assembler reader so it can read instructions longer than 5 characters.
git-svn-id: trunk@30186 -
2015-03-14 12:49:07 +00:00
Jeppe Johansen
914e9e7b49
Merged from trunk
...
git-svn-id: branches/laksen/armiw@30146 -
2015-03-08 12:33:46 +00:00
Jeppe Johansen
d12b913e70
Add initial support in ARM-embedded for Allwinner A20.
...
git-svn-id: trunk@30144 -
2015-03-08 12:22:57 +00:00
Jeppe Johansen
0494f48bfc
Fix capability matrix for ARMv5. It should not have thumb support.
...
git-svn-id: branches/laksen/armiw@29287 -
2014-12-14 16:49:28 +00:00
florian
5c67fcc43f
+ change always floating point divisions into multiplications if they are a power of two,
...
this is an exact operation so it is always allowed
* change only divisions by normal numbers into multiplications
git-svn-id: trunk@29085 -
2014-11-16 20:47:38 +00:00
Tomas Hajny
3ee3542744
* boolean constant instead of IFDEFs for detection of microcontroller support
...
git-svn-id: trunk@29052 -
2014-11-10 12:34:59 +00:00
Jeppe Johansen
0dc39b5d63
Applied patch from Michael Ring that adds some startup code for some new stm32f0 and stm32f1 controllers, and fixes naming on some LPC ARMv6m controllers.
...
git-svn-id: trunk@28009 -
2014-06-20 06:49:04 +00:00
florian
686a2d2f3f
+ Support omitting the frame pointer on arm even in procedures with incoming parameters
...
on the stack, this can be enabled by -OoFORCENOSTACKFRAME. This reduces the required
entry/exit code and makes an extra register available to the compiler. However, since this is
based on an estimation of the required stack size, it might have two drawbacks:
either the stack frame is estimated to big, the program requires a bigger stack than needed
or it is estimated too small, then the compiler throws an internalerror during compilation. These
issues can be overcome as soon as the compiler supports recompiling subroutines if needed.
git-svn-id: trunk@27239 -
2014-03-23 14:38:53 +00:00
masta
e5b3d89a5d
Add CPUARM_HAS_UMULL flag
...
Pre armv4 and all *M variants to not support UMULL and SMULL.
The Flag now gets used for 32x32->64 and 64x64->64 optimized code.
git-svn-id: trunk@26354 -
2014-01-02 13:06:18 +00:00
florian
73e6af4864
+ cpu flag CPUARM_HAS_THUMB_IDIV
...
* test for CPUARM_HAS_THUMB_IDIV instead the CPU type when creating sdiv/udiv code
git-svn-id: trunk@25648 -
2013-10-05 12:38:55 +00:00
florian
d4968e054b
+ arm: tsettings.instructionset
...
* the selected instruction set is now independent from the cpu type: e.g. armv7-a can perfectly execute thumb(2) code
git-svn-id: trunk@25370 -
2013-08-25 21:56:12 +00:00
florian
0e9b8adb7a
patch by Michael Ring:
...
+ support of several armv6m MCUs for arm-embedded
* renamed lpc1343 unit to lpc13xx
+ more lpc13xx MCUs added
git-svn-id: trunk@24379 -
2013-04-29 19:57:08 +00:00
florian
b434b7bc7d
* armv6-m has no blx <immediate>
...
git-svn-id: trunk@23983 -
2013-03-24 20:24:15 +00:00