Commit Graph

51061 Commits

Author SHA1 Message Date
Károly Balogh
f7488f2bd8 m68k: don't try to inline NaN and InF values as consts into FPU operands
git-svn-id: trunk@36351 -
2017-05-27 20:51:05 +00:00
Károly Balogh
b649db5004 rtl-console: support two extra builtin font sizes on Amiga-likes. makes it possible to use the IDE on a 640x256 PAL screen, or have VGA 80x50-alike mode on RTG/high-res screens. switching is possible via an ENV var for now. Also support turning off the SMARTREFRESH attribute of the IDE window
git-svn-id: trunk@36350 -
2017-05-27 10:09:23 +00:00
Károly Balogh
97f876c9d4 rtl-console: added a 8x8 and a 8x14 font data for the video unit used by Amiga-likes. added proper copyright header for the file
git-svn-id: trunk@36349 -
2017-05-27 09:31:03 +00:00
Károly Balogh
b3157aa5ea m68k: generate MUL helpers for CPUs without 32bit MUL already in pass 1
git-svn-id: trunk@36348 -
2017-05-26 18:46:19 +00:00
Károly Balogh
b755524c38 made it possible to override the decision from the cgs, if a certain muln needs a helper
git-svn-id: trunk@36347 -
2017-05-26 18:42:21 +00:00
Károly Balogh
6ca8b1374b m68k: quickfix the 68000 builds of the compiler after r36344
git-svn-id: trunk@36346 -
2017-05-26 18:26:58 +00:00
nickysn
e8a09fba0d * use xchg, instead of mov, because it's 1 byte shorter
git-svn-id: trunk@36345 -
2017-05-26 18:26:00 +00:00
nickysn
34113b930b * removed the checkoverflow: boolean parameter of the software mul helpers;
replaced it with a separate "_checkoverflow" version of each helper

git-svn-id: trunk@36344 -
2017-05-26 15:34:26 +00:00
Marc Weustink
2b2200fcc6 RegisterCustomVariantType: initialize the customvariant array to the correct length before assigning new value
git-svn-id: trunk@36343 -
2017-05-26 15:25:37 +00:00
nickysn
ba665e103c + added sqr(shortint) and sqr(smallint) for CPUs with 8/16-bit alu
git-svn-id: trunk@36342 -
2017-05-26 13:16:36 +00:00
michael
7c9e5591b6 * Fix bug ID #31583 (patch from Zoran Vucenovic)
git-svn-id: trunk@36341 -
2017-05-26 09:22:08 +00:00
pierre
a16326fa95 Avoid MSDOS Memory Control Block (MCB) chain corruption in RegisterTinyHeapBlock
git-svn-id: trunk@36340 -
2017-05-26 06:44:07 +00:00
Károly Balogh
87e8010f05 m68k: support 32x32 to 64bit MUL generation when targeting CPUs which support this instruction
git-svn-id: trunk@36339 -
2017-05-25 22:35:12 +00:00
joost
f5d17b2884 * Unified determination of source-package
* Scan installed packages for their sources in the same order as they are
   used
 * Added test for both points

git-svn-id: trunk@36338 -
2017-05-25 21:58:56 +00:00
joost
569bd1e812 * Only pass prefix and baseinstalldir to fpmake during (de-)installation
* First evaluate the baseinstalldir, so that the user gets a warning when 
   an install-repository is chosen which is not available for installations

git-svn-id: trunk@36337 -
2017-05-25 21:24:51 +00:00
Károly Balogh
63b3304374 m68k: instead of calling a helper, generate inlined code for 64 bit multiplications, when applicable
git-svn-id: trunk@36336 -
2017-05-25 20:59:12 +00:00
Károly Balogh
829b2fc3b3 m68k: enable 68020 codepaths to all CPUs supporting '020 features
git-svn-id: trunk@36335 -
2017-05-25 20:54:18 +00:00
Károly Balogh
e9ff684ff0 m68k: handle operand type correctly for 3 operand mul/div
git-svn-id: trunk@36334 -
2017-05-25 20:52:57 +00:00
Károly Balogh
aa87e911d7 m68k: fixed some copypaste error in a disabled debug string. no functional changes.
git-svn-id: trunk@36329 -
2017-05-25 15:12:28 +00:00
nickysn
78a7445751 + added Odd(byte) and Odd(shortint) for cpus with 8-bit alu and Odd(word)/
Odd(smallint) for cpus with 8 or 16-bit alu

git-svn-id: trunk@36328 -
2017-05-25 14:42:56 +00:00
nickysn
fa645dcaf7 + added abs(smallint) and abs(shortint) for cpus with 8-bit or 16-bit alu
git-svn-id: trunk@36327 -
2017-05-25 14:14:18 +00:00
nickysn
9946393018 + added comment about the fptan instruction restrictions on the 8087 and 80287
git-svn-id: trunk@36326 -
2017-05-25 12:57:24 +00:00
florian
db49b2f62b * coalesce spilled registers if possible to avoid mem->mem moves
git-svn-id: trunk@36325 -
2017-05-25 12:44:35 +00:00
florian
4b17ad80d0 * reduce initial size of movelist, 16 is enough for most cases
git-svn-id: trunk@36324 -
2017-05-25 12:44:33 +00:00
florian
5e07957594 + TLinkedList.RemoveAll
git-svn-id: trunk@36323 -
2017-05-25 12:44:32 +00:00
florian
c83e6991d5 * properly check number of operands
git-svn-id: trunk@36322 -
2017-05-25 12:44:30 +00:00
Károly Balogh
bfc5f67f92 fcl-passrc: attempt to fix the install rule and some of the dependencies
git-svn-id: trunk@36321 -
2017-05-25 12:32:04 +00:00
Mattias Gaertner
ae5492af44 fcl-passrc: fixed checking direct class-ancestor cycle
git-svn-id: trunk@36320 -
2017-05-25 11:00:54 +00:00
Mattias Gaertner
e552db6ef6 pastojs: fixed compilation
git-svn-id: trunk@36319 -
2017-05-25 10:48:14 +00:00
Mattias Gaertner
dd48453c57 resolver: const evaluation: ranges, int+int
git-svn-id: trunk@36318 -
2017-05-25 10:47:48 +00:00
pierre
3a9ed7db72 Limit log size to 50000, and add all testrun information at start
git-svn-id: trunk@36317 -
2017-05-24 21:53:01 +00:00
marco
91513dc414 * menubarinfo, remove packed (64-bit fix)
git-svn-id: trunk@36315 -
2017-05-24 17:02:54 +00:00
pierre
53972e6df0 Remove BASEFPCDIR, use FPCDIR instead
git-svn-id: trunk@36314 -
2017-05-24 11:07:45 +00:00
pierre
87bb473780 Fix ExitCode readout if temp directory is used by postponing temp directory cleanup
git-svn-id: trunk@36313 -
2017-05-24 07:41:25 +00:00
Károly Balogh
dd01b7ca8b fix a typo to hopefully fix the build
git-svn-id: trunk@36312 -
2017-05-23 21:13:00 +00:00
florian
c79342030e * let the avrsim throw an exception if a program tries to execute code at address 0
git-svn-id: trunk@36311 -
2017-05-23 20:18:17 +00:00
svenbarth
7c9aeda656 * rework InsertInitFinalTable a bit more so that the list of init/fini entries does not need to be generated twice for AVR
git-svn-id: trunk@36310 -
2017-05-23 19:58:39 +00:00
svenbarth
fab6f70de8 * rework AVR's InsertInitFinalTable to make use of get_init_final_list instead of iterating the init/fini functions itself
git-svn-id: trunk@36309 -
2017-05-23 19:46:07 +00:00
svenbarth
29d9beb40c * initialize datatemp
git-svn-id: trunk@36308 -
2017-05-23 19:27:08 +00:00
svenbarth
72c595eefe + implement support for Insert() for dynamic arrays; the parameter that is inserted can be a dynamic or static array of the same type, an array constructor or a single element of the arrays type; all that is determined based on the second type
+ added test

git-svn-id: trunk@36307 -
2017-05-23 19:11:49 +00:00
nickysn
30b5a4dd3e + added x86_64 asm implementation of math.DivMod
git-svn-id: trunk@36306 -
2017-05-23 17:14:10 +00:00
nickysn
958d74e41c - removed the "else" in math.EnsureRange, because this way the compiler
generates entirely branchless code (via CMOVxx) on Pentium II or later (when
  compiling with -CpPENTIUM2)

git-svn-id: trunk@36305 -
2017-05-23 13:17:28 +00:00
Károly Balogh
346f040a54 also try to inline 32bit SwapEndian variants, as they're still reasonably simple
git-svn-id: trunk@36304 -
2017-05-23 07:32:54 +00:00
Károly Balogh
a4c40a51ff m68k: also add options.pas to the previous change
git-svn-id: trunk@36303 -
2017-05-23 00:18:13 +00:00
Károly Balogh
3e8ee48458 m68k: define cpurox and enabled the rotate-related optimizations on CPUs which support rotate instructionsoptions.pas
git-svn-id: trunk@36302 -
2017-05-23 00:16:29 +00:00
joost
d5087df6fb * Undo all changes in the test-environment before each test
git-svn-id: trunk@36301 -
2017-05-22 21:56:35 +00:00
joost
408cae639f * Moved all logic to determine in which repository to install a package into
one method.
 * Re-designed the logic to determine where to install packages. Documented 
   the logic in repositorylogics.dia.
 * Partly implemented this new logic.
 * Added tests.

git-svn-id: trunk@36300 -
2017-05-22 21:20:22 +00:00
pierre
53bfafa290 Add information about MCB to SysAlloc call if DEBUG_TINY_HEAP macro is defined
git-svn-id: trunk@36299 -
2017-05-22 20:42:33 +00:00
pierre
e092f00843 Avoid trying to use invalid instruction exception if Test8087 is below 2, as older CPU ignore simply invalid instructions
git-svn-id: trunk@36298 -
2017-05-22 20:41:36 +00:00
pierre
0f80603dae + SysGetMem: Add DEBUG_TINY_HEAP message after SysAlloc call.
* Change InternalTinyAlign procedure:
  Change variable ASize to be VAR parameter type
  so that possible size reduction required by alignment
  is propagated correctly to calling function.

git-svn-id: trunk@36297 -
2017-05-22 20:27:08 +00:00