florian
16163b74ec
+ support for the gnu2 general-dynamic tls model on arm, use it instead of the gnu one as the gnu2 one can be relaxed (access optimizations by the linker)
...
+ support pic relocations in the internal assembler writer
git-svn-id: trunk@43128 -
2019-10-05 20:48:26 +00:00
florian
03dfc615dc
+ new relocations for arm tls
...
git-svn-id: trunk@43123 -
2019-10-05 20:48:21 +00:00
florian
867df5362c
+ basic Neon support in the assembler writer
...
+ make use of VEOR if possible to clear VFP registers
git-svn-id: trunk@42682 -
2019-08-13 22:12:51 +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
Jonas Maebe
9e9a982bfe
* synchronised with trunk till r42095
...
git-svn-id: branches/debug_eh@42096 -
2019-05-18 18:43:51 +00:00
pierre
2ff391c25c
Fix arm-aros rtl compilation
...
git-svn-id: trunk@42090 -
2019-05-17 06:39:57 +00:00
Jonas Maebe
1b6425176b
* synchronised with trunk till r42049
...
git-svn-id: branches/debug_eh@42050 -
2019-05-12 18:44:05 +00:00
Jonas Maebe
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
...
be introduced by the next commit
git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +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
095bd6da7d
* do not re-used gottpoff symbols as they are PC-relative
...
git-svn-id: trunk@40321 -
2018-11-15 20:07:56 +00:00
Jeppe Johansen
4b227de02e
Add ORN instruction for Thumb2.
...
git-svn-id: trunk@39714 -
2018-09-08 12:10:51 +00:00
florian
4f5f3c4a09
+ support for vmov.xx vreg,#imm on arm
...
git-svn-id: trunk@39297 -
2018-06-24 12:39:59 +00:00
florian
208c2cce52
* fix case table detection for thumb
...
git-svn-id: trunk@38418 -
2018-03-05 21:44:19 +00:00
Jonas Maebe
1cb8c0d00c
* specify the def of assembler level symbols defined via
...
tasmdata.DefineAsmSymbol() and all routines that call it
o will be used to automatically generate AB_INDIRECT sybols when
necessary
git-svn-id: trunk@34164 -
2016-07-20 20:52:59 +00:00
Károly Balogh
e0c21b6f8b
ARM: avoid some range check errors, while running a compiler compiled with -CR
...
git-svn-id: trunk@33257 -
2016-03-16 10:08:44 +00:00
florian
d13246cea4
+ handle FMA instructions in taicpu.spilling_get_operation_type
...
git-svn-id: trunk@33183 -
2016-03-06 13:33:18 +00:00
Jeppe Johansen
017d58748f
Use thumb_func flag to detect selected arm/thumb mode.
...
git-svn-id: trunk@32958 -
2016-01-16 11:24:38 +00:00
Jeppe Johansen
0251263234
Move some of the local reloc calculation out of aasmcpu, and into COFF and ELF writers.
...
git-svn-id: trunk@32867 -
2016-01-06 23:15:08 +00:00
Jeppe Johansen
1b02dd27dc
Make relocation type more precise compared to output of gas.
...
Change and to or in case symbol in other section is not exported.
git-svn-id: trunk@32852 -
2016-01-05 07:23:20 +00:00
Jeppe Johansen
c929bb32ae
Make sure to remove postfix as well when fixing thumb instructions.
...
git-svn-id: trunk@32787 -
2015-12-29 12:20:30 +00:00
Jeppe Johansen
4b0f4cf86a
Fix some small bugs in the Thumb assembler.
...
git-svn-id: trunk@32785 -
2015-12-28 21:10:46 +00:00
Jeppe Johansen
eadd93dbae
Most if not all instructions for thumb use only 2 operand rw forms. Changed get_oper_type to match that. It was previously creating bad spilling.
...
git-svn-id: trunk@32100 -
2015-10-20 03:45:22 +00:00
yury
432248cbf1
* Removed lot of unused vars.
...
git-svn-id: trunk@31732 -
2015-09-17 12:48:58 +00:00
florian
4d349c9c71
* take care of limited offsets of stf/ldf, resolves issue #23620
...
git-svn-id: trunk@31572 -
2015-09-07 20:14:27 +00:00
Jeppe Johansen
b6729a8f0b
Workaround for IE 20060521 when building the ARM compiler
...
git-svn-id: trunk@30733 -
2015-04-26 20:10:57 +00:00
Jeppe Johansen
f31f87e8c7
Fix spilling_get_operation_type for MRS and MSR instructions
...
git-svn-id: trunk@30590 -
2015-04-14 17:20:47 +00:00
Jonas Maebe
201121d7c9
* synchronised with trunk till r30345
...
git-svn-id: branches/hlcgllvm@30349 -
2015-03-28 12:28:15 +00:00
Jeppe Johansen
09acd9b1ab
Add workaround for ARM thumb when using GAS.
...
git-svn-id: trunk@30254 -
2015-03-17 21:24:07 +00:00
Jonas Maebe
bd203a5b57
* synchronised with trunk till r30240
...
git-svn-id: branches/hlcgllvm@30241 -
2015-03-15 19:44:58 +00:00
Jeppe Johansen
f92f0751f4
Fix selection of LDR/STR instructions in thumb mode. Most forms don't support pre or post indexing.
...
Fix emission of offsets.
git-svn-id: trunk@30234 -
2015-03-15 12:12:13 +00:00
Jeppe Johansen
439027a8de
Add most pre-UAL VFP instruction forms.
...
Add fused mac instructions for VFPv4.
git-svn-id: trunk@30187 -
2015-03-14 14:59:13 +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
Jonas Maebe
67b8aceaee
* synchronized with privatetrunk till r30095
...
git-svn-id: branches/hlcgllvm@30101 -
2015-03-05 20:32:15 +00:00
Jonas Maebe
b2427d04ed
* ensure that data pools are not inserted right after add/tbb/tbh-based
...
jumptable dispatches
git-svn-id: trunk@30027 -
2015-02-27 20:52:12 +00:00
sergei
9cc0bdd6b9
+ Missing part of internal ARM assembler, Mantis #26588 . I'm not setting it as default for arm-wince yet, because testing reveals several points in generic code that need adjustments.
...
git-svn-id: trunk@29588 -
2015-01-30 22:45:05 +00:00
Jeppe Johansen
2ac11e4b82
Use proper relocation type for Thumb-2 BLX.
...
Initialize MM register allocator properly for Thumb-2 cg.
git-svn-id: branches/laksen/armiw@29435 -
2015-01-11 13:30:52 +00:00
Jeppe Johansen
572076fc4d
Add MSR/MRS for ARMv6M/7M.
...
Fix bug in FPA LFM/SFM.
Add usermode handling of LDM/STM.
git-svn-id: branches/laksen/armiw@29371 -
2015-01-02 13:24:03 +00:00
Jeppe Johansen
7390acc426
Merged from recent trunk.
...
git-svn-id: branches/laksen/armiw@29369 -
2015-01-01 23:54:40 +00:00
Jeppe Johansen
f963ff1b5b
Add CPSxx instructions, and some missing FPA instructions.
...
git-svn-id: branches/laksen/armiw@29368 -
2015-01-01 21:17:21 +00:00
Jeppe Johansen
ff7af306df
Add FPA support.
...
git-svn-id: branches/laksen/armiw@29366 -
2015-01-01 11:18:04 +00:00
Jeppe Johansen
49346b3041
Fix SWI as a pseudo instruction.
...
Add VFPv2/3 instruction entries for Thumb2.
git-svn-id: branches/laksen/armiw@29356 -
2014-12-29 11:34:34 +00:00
Jeppe Johansen
cbd75428c0
Fix an issue with local BLX branches not being turned into BL branches.
...
git-svn-id: branches/laksen/armiw@29355 -
2014-12-28 23:27:30 +00:00
Jeppe Johansen
9a482d5281
Refactor and secure some immediate operand encodings.
...
Add some system mode entries, udiv/sdiv in arm mode, and fix bugs in ldrh/strh.
git-svn-id: branches/laksen/armiw@29353 -
2014-12-28 21:41:06 +00:00
Jeppe Johansen
e7575d9f96
Fix some encoding bugs in ARM modes. Mostly shifts and signindex errors.
...
Add FPU mask checking for instructions too.
git-svn-id: branches/laksen/armiw@29352 -
2014-12-28 16:16:54 +00:00
Jeppe Johansen
97fdfc942b
Fix encoding of shifterops for ARM dataprocessing instructions.
...
git-svn-id: branches/laksen/armiw@29348 -
2014-12-28 00:13:06 +00:00
Jeppe Johansen
c284d8f6ba
Fix some warnings about unitialized variables.
...
git-svn-id: branches/laksen/armiw@29346 -
2014-12-27 23:11:54 +00:00
Jeppe Johansen
3ad03491ed
Add Neg as a pseudo instruction, and fix RRX pseudo code expansion.
...
Split some of the thumb code emission rules to make it easier to specify short-cut notations.
git-svn-id: branches/laksen/armiw@29345 -
2014-12-27 17:44:30 +00:00
Jeppe Johansen
6fff181679
Add support for TBB/TBH instructions.
...
Precisize rules for selection of thumb instructions.
Add short-cut notation support for most simple Thumb2 instructions ( add r1,#4 instead of add r1,r1,#4 ).
git-svn-id: branches/laksen/armiw@29343 -
2014-12-27 16:00:06 +00:00
Jeppe Johansen
71cdedea82
Add missing NOP, and B instruction forms.
...
Move ThumbFunc flag from section to symbol.
Make .w forms optional the other way around. If .w is explicitly put on an instruction the assembler should always chose a wide form.
git-svn-id: branches/laksen/armiw@29341 -
2014-12-27 13:23:02 +00:00