Jonas Maebe
f54ea490dd
* fixed writing extended registers in references
...
git-svn-id: trunk@29933 -
2015-02-23 22:53:47 +00:00
Jonas Maebe
7fc9d775df
+ support for @page and @pageoffs addressing on AArch64: these are PIC
...
references that directly take the address of a symbol, rather than
of its GOT entry
o use these addressing modes to access local symbols
git-svn-id: trunk@29932 -
2015-02-23 22:53:43 +00:00
Jonas Maebe
706a0cffec
* regenerated with AArch64 support
...
git-svn-id: trunk@29931 -
2015-02-23 22:53:34 +00:00
Jonas Maebe
70fc5dcee3
* don't pass TP-style objects as HFA or similar, because the calling
...
convention code is triggered before the object structure has been
finalised, so the result can be different in the interface and
implementation. To solve this, something like r20161 has to be
implemented for TP-style objects
git-svn-id: trunk@29930 -
2015-02-23 22:53:29 +00:00
Jonas Maebe
620af1732a
* support for AArch64 branch forwarding
...
o don't forward cb(n)z, as we don't check the maxiumum offsets
o don't forward conditional branches to global labels, as they also have a
limited range and at least the OS X toolchain doesn't support this
git-svn-id: trunk@29929 -
2015-02-23 22:53:26 +00:00
Jonas Maebe
55bc5d7972
* completed TAoptBaseCpu.RegModifiedByInstruction()
...
git-svn-id: trunk@29928 -
2015-02-23 22:53:23 +00:00
Jonas Maebe
6d0f0f430d
* added Darwin/AArch64 support to the objc unit
...
git-svn-id: trunk@29927 -
2015-02-23 22:53:20 +00:00
Jonas Maebe
28a713494c
* fixed/completed spilling_get_operation_type
...
+ implemented spilling_get_operation_type_ref
git-svn-id: trunk@29926 -
2015-02-23 22:53:17 +00:00
Jonas Maebe
5041354b8e
* recognise AArch64 PIC references
...
git-svn-id: trunk@29925 -
2015-02-23 22:53:14 +00:00
Jonas Maebe
62fb05b7c4
+ Darwin/AArch64 test object files
...
git-svn-id: trunk@29924 -
2015-02-23 22:53:11 +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
0203f5e32f
* search iphoneall rather than cocoaall for Cocoa types on Darwin/AArch64
...
git-svn-id: trunk@29922 -
2015-02-23 22:53:04 +00:00
Jonas Maebe
1aee714c36
* updated PIC comment for Darwin/AArch64
...
git-svn-id: trunk@29921 -
2015-02-23 22:53:01 +00:00
Jonas Maebe
572742e546
* use Darwin-style section syntax for Darwin/AArch64
...
git-svn-id: trunk@29920 -
2015-02-23 22:52:58 +00:00
Jonas Maebe
30b0f830c3
* fixed std_param_align
...
o also updated copyright and architecture name
git-svn-id: trunk@29919 -
2015-02-23 22:52:55 +00:00
Jonas Maebe
f9647b661f
+ Darwin/AArch64 test object files
...
git-svn-id: trunk@29918 -
2015-02-23 22:52:52 +00:00
Jonas Maebe
851b3499b4
* aarch64 only/always uses its vector fpu
...
git-svn-id: trunk@29917 -
2015-02-23 22:52:48 +00:00
Jonas Maebe
5fff543c73
- removed unused taicpu.insoffset field
...
git-svn-id: trunk@29916 -
2015-02-23 22:52:45 +00:00
Jonas Maebe
71bd4e23d9
+ taicpu.op_reg_reg_const_const() and taicpu.op_reg_reg_reg_cond() methods
...
git-svn-id: trunk@29915 -
2015-02-23 22:52:42 +00:00
Jonas Maebe
5bdd14e252
+ AArch64 cputarg
...
git-svn-id: trunk@29914 -
2015-02-23 22:52:39 +00:00
Jonas Maebe
558b8967b6
+ Aarch64 assembler reader
...
git-svn-id: trunk@29913 -
2015-02-23 22:52:36 +00:00
Jonas Maebe
96fcf6a12d
* added BL and CB(N)Z to is_calljmp()
...
git-svn-id: trunk@29912 -
2015-02-23 22:52:33 +00:00
Jonas Maebe
aa0e2e9170
* fixed cgsize2subreg and cgsize2subreg for mm subreg sizes
...
git-svn-id: trunk@29911 -
2015-02-23 22:52:30 +00:00
Jonas Maebe
c2b1ff41d5
- removed ARM leftover tspecialregflag type
...
git-svn-id: trunk@29910 -
2015-02-23 22:52:27 +00:00
Jonas Maebe
4c504098ca
+ C_CS/C_CC condition and F_HS/F_LO flag aliases
...
git-svn-id: trunk@29909 -
2015-02-23 22:52:23 +00:00
Jonas Maebe
6e55e8356e
+ IP0/IP1 register aliases
...
git-svn-id: trunk@29908 -
2015-02-23 22:52:20 +00:00
Jonas Maebe
bc9b870943
* cpunode: added ncgcal, corrected ncpuinln -> ncpuinl
...
git-svn-id: trunk@29907 -
2015-02-23 22:52:17 +00:00
Jonas Maebe
1c8059e30c
+ dummy AArch64 hlcgcpu
...
git-svn-id: trunk@29906 -
2015-02-23 22:52:14 +00:00
Jonas Maebe
cfd7bfc8a5
+ dummy AArch64 cpupi unit
...
git-svn-id: trunk@29905 -
2015-02-23 22:52:11 +00:00
Jonas Maebe
d51c87e77b
* add Darwin/AArch64 to systems_darwin
...
git-svn-id: trunk@29904 -
2015-02-23 22:52:07 +00:00
Jonas Maebe
b0112fa63f
+ initial AArch64 support in systemh.inc, options.pas, version.pas and
...
psystem.pas
git-svn-id: trunk@29903 -
2015-02-23 22:52:04 +00:00
Jonas Maebe
19f458787f
+ Darwin/AArch64 support to fpcmake
...
git-svn-id: trunk@29902 -
2015-02-23 22:52:01 +00:00
Jonas Maebe
f2c0b88e4f
* AArch64 compiler building support to top level and compiler Makefile
...
git-svn-id: trunk@29901 -
2015-02-23 22:51:58 +00:00
Jonas Maebe
44f5f435ba
+ Darwin/AArch64 support for handling hardware exceptions
...
git-svn-id: trunk@29900 -
2015-02-23 22:51:54 +00:00
Jonas Maebe
897de78401
+ Darwin/AArch64 support in fpmkunit
...
git-svn-id: trunk@29899 -
2015-02-23 22:51:51 +00:00
Jonas Maebe
7d7953b115
+ Darwin/AArch64 support in fcl-res
...
o disabled writing an addend for the "usedhandles" entry, since we already
add a relocation for it (and while the result of this relocation
overwrites the addend on previously supported Darwin targets, it gets
added on AArch64
git-svn-id: trunk@29898 -
2015-02-23 22:51:47 +00:00
Jonas Maebe
60dd2d1dd5
+ register Darwin/AArch64 target
...
* pass "-arch arm64" to the linker for Darwin/AArch64
git-svn-id: trunk@29897 -
2015-02-23 22:51:44 +00:00
Jonas Maebe
bee9c4185b
+ default target for AArch64
...
git-svn-id: trunk@29896 -
2015-02-23 22:51:41 +00:00
Jonas Maebe
00b819307a
+ condition and shifterop operands for AArch64 assembler reader
...
git-svn-id: trunk@29895 -
2015-02-23 22:51:38 +00:00
Jonas Maebe
665a5e509e
* default iOS deployment version for AArch64 is iOS 7
...
git-svn-id: trunk@29894 -
2015-02-23 22:51:34 +00:00
Jonas Maebe
8c89f7ee8f
* AArch64 also uses the non-fragile Objective-C ABI
...
git-svn-id: trunk@29893 -
2015-02-23 22:51:31 +00:00
Jonas Maebe
de2dd592ab
+ shiftedregmodes and extendedregmodes set constants
...
git-svn-id: trunk@29892 -
2015-02-23 22:51:28 +00:00
Jonas Maebe
17bcd207af
* fixed lowercase entry in uppercond2str
...
git-svn-id: trunk@29891 -
2015-02-23 22:51:25 +00:00
Jonas Maebe
53548663e3
+ AArch64 assembler writer
...
git-svn-id: trunk@29890 -
2015-02-23 22:51:22 +00:00
Jonas Maebe
d246ababff
+ condition code operand for aarch64
...
+ taicpu.op_reg_cond() constructor
* use this operand for cset
git-svn-id: trunk@29889 -
2015-02-23 22:51:19 +00:00
Jonas Maebe
5c6afe259e
* long double = double on Darwin/AArch64
...
git-svn-id: trunk@29888 -
2015-02-23 22:51:15 +00:00
Jonas Maebe
65141ab135
+ aarch64 makefile.cpu
...
git-svn-id: trunk@29887 -
2015-02-23 22:51:12 +00:00
Jonas Maebe
e32965879d
* dummy strings.inc for aarch64
...
git-svn-id: trunk@29886 -
2015-02-23 22:51:09 +00:00
Jonas Maebe
dad442c7e3
+ aarch64 fpu init, atomic routines and memory barriers
...
git-svn-id: trunk@29885 -
2015-02-23 22:51:06 +00:00
Jonas Maebe
6813831e03
+ AArch64 setjump code based on NetBSD version
...
git-svn-id: trunk@29884 -
2015-02-23 22:51:03 +00:00