Commit Graph

47161 Commits

Author SHA1 Message Date
joost
9969da8aa9 * Added some include files to fpmake.pp
git-svn-id: trunk@32120 -
2015-10-21 21:51:30 +00:00
joost
c3c2fa1ede * Added aspelltypes.inc to fpmake.pp
git-svn-id: trunk@32119 -
2015-10-21 21:31:03 +00:00
joost
502eee8f80 * Fixed building fpmkunit with tar-support, but without zstream
git-svn-id: trunk@32118 -
2015-10-21 21:17:13 +00:00
nickysn
b0130c008d + show the full segment:offset value of far and huge pointer const nodes in the node tree generated by -vp
git-svn-id: trunk@32117 -
2015-10-21 16:53:41 +00:00
nickysn
e325cf1126 * fixed internconsts with two arguments. This allows compile time evaluation of ptr(const,const) on i8086 and i386.
git-svn-id: trunk@32116 -
2015-10-21 16:00:12 +00:00
yury
6537b99ac3 * i386: Fixed detection of a peephole optimization using CMOV.
git-svn-id: trunk@32115 -
2015-10-21 15:59:12 +00:00
yury
5771073e0b * Fixed general peephole optimization of conditional jumps after r30446. It has been broken, since r30446 had added some IsJumpToLabel() checks, which tests for unconditional jump, but the optimization code expects also conditional jumps.
- Renamed IsJumpToLabel() to IsJumpToLabelUncond() to avoid confusions.
  - Added IsJumpToLabel() to check for any jump to a label.
  - Added comments.

git-svn-id: trunk@32114 -
2015-10-21 15:35:54 +00:00
nickysn
3d2919acae + added an i8086 asm optimized implementation of fpc_pchar_length
git-svn-id: trunk@32113 -
2015-10-21 13:21:04 +00:00
yury
35ff024f03 * mips: Fixed internal error 2014061703 when optimization are enabled.
git-svn-id: trunk@32112 -
2015-10-21 12:14:49 +00:00
yury
4ae1d23909 * tinterlockedmt test: Increased timeout.
git-svn-id: trunk@32111 -
2015-10-21 09:02:16 +00:00
nickysn
520f7226aa + added test for i8086 inline asm far and near indirect jmps as well
git-svn-id: trunk@32110 -
2015-10-21 01:26:15 +00:00
nickysn
2fbcdaf7d5 * fix typo
git-svn-id: trunk@32109 -
2015-10-21 01:22:23 +00:00
nickysn
bdf719c4df * updated comment to inform that 'call far reg' is not a valid x86 instruction
at all, and not just that we don't expect it

git-svn-id: trunk@32108 -
2015-10-21 01:19:23 +00:00
nickysn
c5aa64bc2c + added an i8086 inline asm test for the indirect near and far call instructions
git-svn-id: trunk@32107 -
2015-10-21 01:07:00 +00:00
nickysn
09218c88aa + optimizations in tcg8086.g_flags2reg for the case where the carry flag or the
inverted carry flag is converted to int, using shorter branchless code and
  the adc/rcl/sbb instructions

git-svn-id: trunk@32106 -
2015-10-20 23:22:32 +00:00
michael
71a6138a17 * Patch from Silvio Clecio to update fpmake targets and properties
git-svn-id: trunk@32105 -
2015-10-20 21:13:36 +00:00
michael
4f649f34d0 * Patch from Silvio Clecio to update to 0.9.43 headers
git-svn-id: trunk@32104 -
2015-10-20 21:12:09 +00:00
nickysn
8eceb73dd4 * also use an 8-bit zero constant for string comparisons with the empty string.
This avoids the unnecessary 32-bit comparison on 16-bit and 8-bit CPUs

git-svn-id: trunk@32103 -
2015-10-20 15:50:02 +00:00
Jonas Maebe
9437d0e4d8 * Linux/AArch64 must also copy value parameters passed by reference on the
caller side, as this is an AArch64 ABI requirement (unrelated to Darwin).
    Fixes webtbs/tw3523 compiled with optimisations on Linux/AArch64

git-svn-id: trunk@32102 -
2015-10-20 12:58:53 +00:00
yury
9bece502a0 * tinterlockedmt test: Reworked test for InterlockedCompareExchange to be more robust.
git-svn-id: trunk@32101 -
2015-10-20 12:43:52 +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
nickysn
a20428f246 * when doing a string comparison that calls an rtl helper, compare the function
result with an 8-bit zero constant (which will be expanded to the native
  integer size by the comparison node), instead of 32-bit zero. This avoids the
  unnecessary 32-bit comparison on 16-bit and 8-bit cpus.

git-svn-id: trunk@32099 -
2015-10-20 01:22:01 +00:00
nickysn
db7b743139 * yet another longint replaced with objpasint in fpc_shortstr_compare_equal
git-svn-id: trunk@32098 -
2015-10-19 16:53:40 +00:00
nickysn
b561b3c2ba * use objpasint (generates better code on 16-bit and 8-bit cpus) instead of
longint in several generic shortstr helpers

git-svn-id: trunk@32097 -
2015-10-19 16:36:12 +00:00
pierre
854d04bb46 Fix missing aarch64 CPU in ShowHistory for one test
git-svn-id: trunk@32096 -
2015-10-19 14:47:50 +00:00
yury
325a79b81b * tinterlockedmt test: Another fix to improve threads synchronization. Should fix slow execution on some systems.
git-svn-id: trunk@32095 -
2015-10-19 11:34:52 +00:00
pierre
89f5b65bbf New aarch64-linux gcc compiled objects generated on GCC Compile Farm gcc115 machine
git-svn-id: trunk@32094 -
2015-10-19 10:40:35 +00:00
blikblum
9aa6ea2255 Implement OnFilterRecord
git-svn-id: trunk@32093 -
2015-10-18 18:53:47 +00:00
sergei
72f60de3c4 * Added two test cases from Mantis #28584. The issue itself has been fixed with r31475 and r31582.
git-svn-id: trunk@32092 -
2015-10-18 14:48:36 +00:00
yury
3344188f3e * tinterlockedmt: Minor improvement.
git-svn-id: trunk@32091 -
2015-10-18 12:41:35 +00:00
Jeppe Johansen
14020b044c Fix bug in gen_load_cgpara_loc for 64bit registers on 8bit architectures.
Added a workaround in a_load_const_reg to allow compilation for AVR.

git-svn-id: trunk@32090 -
2015-10-18 11:36:58 +00:00
yury
3fcbb7d2d4 * tinterlockedmt: Fix race conditions in the InterLockedCompareExchange test.
git-svn-id: trunk@32089 -
2015-10-18 11:07:29 +00:00
Jeppe Johansen
1a285a7d24 Fixed an off-by-one error in a_load_const_cgpara which caused some problems.
Added some minor CG optimizations.

git-svn-id: trunk@32088 -
2015-10-18 11:03:57 +00:00
sergei
be6bcb71dc * Fixed test on 64-bit targets, was always using i386 code due to incorrect CPU selection symbol (must be "cpux86_64", not "x86_64").
git-svn-id: trunk@32087 -
2015-10-18 10:02:21 +00:00
Jeppe Johansen
7fc3ed2644 Fix a broken OpCp2Op optimization. It needed the added NR_DEFAULTFLAGS allocation to not break subsequent optimizations.
Updated the code for a_load_const_cgpara in case it needed stack parameters. This was completely broken before. Now it should allow things to compile at least.

git-svn-id: trunk@32086 -
2015-10-17 23:29:15 +00:00
yury
9193954d1c * pas2jni: Detect the default units path.
git-svn-id: trunk@32084 -
2015-10-17 20:36:29 +00:00
yury
ab4c8623ec * pas2jni: Fixed reading of the ppudump's output in some cases.
git-svn-id: trunk@32083 -
2015-10-17 18:40:21 +00:00
joost
3ec197480b * Re-generated Makefile for r32081
git-svn-id: trunk@32082 -
2015-10-17 18:03:20 +00:00
joost
a0d1296d2a * Re-created Makefile.fpc for libmicrohttpd with standard template
git-svn-id: trunk@32081 -
2015-10-17 18:01:09 +00:00
yury
36622eaba9 * arm-android: Compile for ARMv5T by default to be compatible with all versions of Android.
git-svn-id: trunk@32078 -
2015-10-17 16:27:53 +00:00
yury
2dafb8d674 * arm-android: Use kuser_memory_barrier by default.
git-svn-id: trunk@32077 -
2015-10-17 16:07:04 +00:00
yury
44777f3797 * Use ThreadSwitch.
git-svn-id: trunk@32076 -
2015-10-17 16:03:18 +00:00
yury
c9a0c5e7a6 * arm: Support for the kuser_memory_barrier kernel function for memory barriers.
git-svn-id: trunk@32075 -
2015-10-17 15:40:05 +00:00
joost
55f47e0efc * Added missing include file to fpmake.pp
git-svn-id: trunk@32074 -
2015-10-17 15:05:27 +00:00
yury
e3d06cdba7 + Stress test for Interlocked* functions using multiple threads.
git-svn-id: trunk@32073 -
2015-10-17 14:48:04 +00:00
yury
0d9d730efe * arm-android: Use kuser_cmpxchg for Interlocked* functions when RTL is compiled for the ARMv5t CPU.
git-svn-id: trunk@32072 -
2015-10-17 14:38:17 +00:00
joost
57204b2404 * Fixed fppkg --config-file option
git-svn-id: trunk@32071 -
2015-10-17 13:39:29 +00:00
Jeppe Johansen
4c8fc04a24 Fix a bunch of alignment problems for arm-embedded, mostly armv6m which uses the generic Move and FIllChar routines.
git-svn-id: trunk@32070 -
2015-10-17 12:11:32 +00:00
joost
56c9903c0c * Fixed compilation of libmicrohttpd on Linux
git-svn-id: trunk@32069 -
2015-10-17 09:37:35 +00:00
michael
5a13124fec * Fix dependency on rtl-extra for windows
git-svn-id: trunk@32068 -
2015-10-17 09:02:22 +00:00