pierre
85a7b9d9cf
Avoid range check error for 64bit cpu by direct writing to FormatParams array
...
git-svn-id: trunk@29990 -
2015-02-24 16:01:11 +00:00
pierre
da55d9ded2
Also disable overflow where range check is disabled in aasmcpu unit
...
git-svn-id: trunk@29989 -
2015-02-24 15:58:49 +00:00
marco
422df4bc77
* fixed typo removing ppca64, mantis 27533
...
git-svn-id: trunk@29988 -
2015-02-24 09:35:27 +00:00
nickysn
7e3ec0ae87
+ x86_64 registers view support added to the IDE
...
git-svn-id: trunk@29987 -
2015-02-24 02:44:05 +00:00
Jonas Maebe
879afbb7be
* removed -Oodfa warnings
...
git-svn-id: trunk@29986 -
2015-02-23 22:57:24 +00:00
Jonas Maebe
c41759a026
- removed a lot of unused copied internal assembler code
...
git-svn-id: trunk@29985 -
2015-02-23 22:57:21 +00:00
Jonas Maebe
2ab7f5c35d
* moved x86-specific requirements from the generic bsr/bsf code to the
...
x86 code generator (register size constraints)
git-svn-id: trunk@29984 -
2015-02-23 22:57:18 +00:00
Jonas Maebe
416d0b3974
* enable internal handling of 64 bit sar() on AArch64
...
git-svn-id: trunk@29983 -
2015-02-23 22:57:15 +00:00
Jonas Maebe
3b5adcb3de
+ print iphonesim/x86_86-specific command line options in the help
...
git-svn-id: trunk@29982 -
2015-02-23 22:57:12 +00:00
Jonas Maebe
dcb6f2baae
+ print Darwin/AArch64-specific command line options in the help
...
git-svn-id: trunk@29981 -
2015-02-23 22:57:09 +00:00
Jonas Maebe
5e339e89e4
* source can also be a LOC_CREGISTER for bsr/bsf
...
git-svn-id: trunk@29980 -
2015-02-23 22:57:05 +00:00
Jonas Maebe
a8d05b66e2
+ AArch64 internal bsf/bsr support
...
git-svn-id: trunk@29979 -
2015-02-23 22:57:02 +00:00
Jonas Maebe
b40a4d1b5a
+ support for "xor mmreg,mmreg" for initialising global floating point
...
regvars
git-svn-id: trunk@29978 -
2015-02-23 22:56:59 +00:00
Jonas Maebe
03f8a15904
* enable internal handling of 32 and 64 bit rotates on AArch64
...
git-svn-id: trunk@29977 -
2015-02-23 22:56:56 +00:00
Jonas Maebe
0a0e74342f
* AArch64 doesn't need the software int64 to double code
...
git-svn-id: trunk@29976 -
2015-02-23 22:56:53 +00:00
Jonas Maebe
b7fb862f4a
* enable internal handling of abs(int64) on AArch64
...
git-svn-id: trunk@29975 -
2015-02-23 22:56:50 +00:00
Jonas Maebe
fa328436ab
* regenerated for iphonesim/x86-64
...
git-svn-id: trunk@29974 -
2015-02-23 22:56:41 +00:00
Jonas Maebe
749f393095
* fixed platform names for Darwin in ppudump
...
git-svn-id: trunk@29973 -
2015-02-23 22:56:24 +00:00
Jonas Maebe
83e20b5a5b
+ x86_64/iphonesim support in fpcmake/fpmkunit
...
git-svn-id: trunk@29972 -
2015-02-23 22:56:21 +00:00
Jonas Maebe
935c6eecf0
+ iphonesim/x86_64 detection support in univint units
...
git-svn-id: trunk@29971 -
2015-02-23 22:56:14 +00:00
Jonas Maebe
79a06b1514
+ iphonesim/x86_64 target (64 bit iOS simulator)
...
git-svn-id: trunk@29970 -
2015-02-23 22:56:09 +00:00
Jonas Maebe
f421e83c9a
- don't allow setting the OS X version (-WM) for Darwin/ARM or Darwin/AArch64
...
for now (it's all iOS)
git-svn-id: trunk@29969 -
2015-02-23 22:56:06 +00:00
Jonas Maebe
07f31d560c
+ also perform sign/zero-extensions of the index in vecn using extended
...
registers in references
git-svn-id: trunk@29968 -
2015-02-23 22:56:03 +00:00
Jonas Maebe
d6de2c03cb
* generic part of r26050 from the hlcgllvm branch: made tcgvecnode hlcg-safe
...
o in particular, add tdef size information to the update_reference*()
methods, and factored out offset adjustments into its own method
o also make sure the passed size to update_reference*() corresponds to the
actual size of the index, as it's no longer guaranteed to be ptruint
since the previous commit
git-svn-id: trunk@29967 -
2015-02-23 22:56:00 +00:00
Jonas Maebe
97df25cc29
+ use reference/add "extended register" scale modes for vecnodes
...
git-svn-id: trunk@29966 -
2015-02-23 22:55:57 +00:00
Jonas Maebe
b5b7e0f338
* ensure that 64->32 bit truncations cannot be optimized away by the
...
register allocator on AArch64 + test (did not get caught by existing
tests)
git-svn-id: trunk@29965 -
2015-02-23 22:55:54 +00:00
Jonas Maebe
1de8e53edd
+ AArch64 jump table support
...
git-svn-id: trunk@29964 -
2015-02-23 22:55:42 +00:00
Jonas Maebe
d4d9e361fc
+ AArch64 optimized version of a_load_regconst_subsetreg_intern()
...
git-svn-id: trunk@29963 -
2015-02-23 22:55:39 +00:00
Jonas Maebe
555194a67b
+ AArch64 optimized version of a_load_subsetreg_subsetreg()
...
git-svn-id: trunk@29962 -
2015-02-23 22:55:36 +00:00
Jonas Maebe
602853d40b
+ AArch64 optimized version of a_load_subsetreg_reg()
...
git-svn-id: trunk@29961 -
2015-02-23 22:55:33 +00:00
Jonas Maebe
c9de3b2ecd
* use the zero register for a_load_const_ref(0)
...
git-svn-id: trunk@29960 -
2015-02-23 22:55:29 +00:00
Jonas Maebe
07455fb889
+ inlined versions of concatcopy
...
git-svn-id: trunk@29959 -
2015-02-23 22:55:26 +00:00
Jonas Maebe
e6ab39765d
* add restrictions for loaded/stored registers in case of references
...
with write-back
git-svn-id: trunk@29958 -
2015-02-23 22:55:23 +00:00
Jonas Maebe
65c2c68b5f
* call the AArch64 compiler ppca64 instead of ppcaarch64 (less typing)
...
git-svn-id: trunk@29957 -
2015-02-23 22:55:20 +00:00
Jonas Maebe
14bd77f11c
* removed ARM copy/paste stuff
...
git-svn-id: trunk@29956 -
2015-02-23 22:55:17 +00:00
Jonas Maebe
ff73d97e7f
* temporary workaround for writing INS/UMOV operands, as these require
...
vector subregisters that we cannot represent yet. We only have to
load/store lower single/double precision contents via them though,
so reuse SUBMMS/SUBMMD for now.
git-svn-id: trunk@29955 -
2015-02-23 22:55:14 +00:00
Jonas Maebe
bc5a33ffac
* fixed flags_to_cond() and inverse_cond() for C_GE
...
git-svn-id: trunk@29954 -
2015-02-23 22:55:11 +00:00
Jonas Maebe
42aca4db46
* pass managed function result addresses as a hidden first parameter instead
...
of in X8, as the ABI allows this deviation (see added comments) and it's
required for some internal RTL code to call interface methods via RTTI
git-svn-id: trunk@29953 -
2015-02-23 22:55:08 +00:00
Jonas Maebe
bb1274a8ee
* make DoPipe() a method of TExternalAssembler and use it in
...
TAArch64AppleAssembler to determine whether we have to add extra
parameters to support assembling via a pipe ("as" is a symlink to
clang for Arch64 on OS X, and needs to be explicitly told its going to
receive assembler code from standard input)
git-svn-id: trunk@29952 -
2015-02-23 22:55:05 +00:00
Jonas Maebe
1edd3ac511
* support for the "RaisePending" parameter of RaiseExceptions on AArch64
...
git-svn-id: trunk@29951 -
2015-02-23 22:55:02 +00:00
Jonas Maebe
3d01d4ceb1
* regenerated with Darwin/AArch64 support
...
git-svn-id: trunk@29950 -
2015-02-23 22:54:53 +00:00
Jonas Maebe
fcfa8f3826
+ fpcres (Darwin/)AArch64 support
...
o also use $elseif to stop endless $endif sequence at the end
git-svn-id: trunk@29949 -
2015-02-23 22:54:37 +00:00
Jonas Maebe
bff3feae7b
+ AArch64 support
...
git-svn-id: trunk@29948 -
2015-02-23 22:54:34 +00:00
Jonas Maebe
e6d948470e
* skip test in general for 64 bit cpus
...
git-svn-id: trunk@29947 -
2015-02-23 22:54:31 +00:00
Jonas Maebe
9521905102
+ added aarch64 support
...
git-svn-id: trunk@29946 -
2015-02-23 22:54:28 +00:00
Jonas Maebe
c6daaa28d0
* enable all Objective-C tests for Darwin/AArch64
...
git-svn-id: trunk@29945 -
2015-02-23 22:54:24 +00:00
Jonas Maebe
2c6e16e49e
* accesses to the ISA pointer are guaranteed to be aligned -> ensure the
...
code generator knows this
git-svn-id: trunk@29944 -
2015-02-23 22:54:21 +00:00
Jonas Maebe
2340da410c
* we cannot directly load the ISA pointer on AArch64, we have to call the
...
class instance method
(http://www.sealiesoftware.com/blog/archive/2013/09/24/objc_explain_Non-pointer_isa.html )
git-svn-id: trunk@29943 -
2015-02-23 22:54:18 +00:00
Jonas Maebe
f1fb880f18
* fixed debug register values for vector registers
...
git-svn-id: trunk@29942 -
2015-02-23 22:54:15 +00:00
Jonas Maebe
e2d21a5716
* reuse simple memory paralocs, since we always setup a stack frame and
...
we can address them via the frame pointer
git-svn-id: trunk@29941 -
2015-02-23 22:54:12 +00:00