Commit Graph

20319 Commits

Author SHA1 Message Date
nickysn
e667a18838 + support the codepage directive in the msg2inc converter util
* msgtxt.inc updated to include the codepage info

git-svn-id: trunk@36449 -
2017-06-08 15:46:30 +00:00
nickysn
c0413a9179 + added codepage info (not used by the compiler yet) to the compiler .msg files
git-svn-id: trunk@36448 -
2017-06-08 15:44:04 +00:00
pierre
65e3c777dc Fix compilation of sparc64 compiler
git-svn-id: trunk@36447 -
2017-06-08 11:19:12 +00:00
maciej-izak
751bde9792 Revert revision 36436 from trunk. Final fix for issue #31675.
git-svn-id: trunk@36446 -
2017-06-07 21:06:54 +00:00
florian
19f842663b + some support for SPARC64 calling conventions
git-svn-id: trunk@36441 -
2017-06-06 20:30:30 +00:00
florian
ea8774c18d * split the sparc code generator into a generic base class and separate classes for sparc32 and sparc64
+ initial code for the sparc64 cg

git-svn-id: trunk@36440 -
2017-06-06 20:11:07 +00:00
maciej-izak
d3d29fa84c Revert revisions 36133, 36128 from trunk.
git-svn-id: trunk@36436 -
2017-06-06 07:12:26 +00:00
florian
dcf8de3253 * change op_* const parameters to aint for consistency
git-svn-id: trunk@36434 -
2017-06-05 21:37:48 +00:00
florian
7254d22402 + some SPARCv9 opcodes
git-svn-id: trunk@36430 -
2017-06-05 21:33:20 +00:00
florian
b367cdeb96 * create intern types for sparc64
git-svn-id: trunk@36429 -
2017-06-05 21:32:13 +00:00
florian
8b19610509 + sparc32 for normal sparc to be used in the compiler
git-svn-id: trunk@36428 -
2017-06-05 21:31:36 +00:00
florian
024481262c + compiler sets SPARC64 defines
git-svn-id: trunk@36427 -
2017-06-05 21:30:58 +00:00
florian
8754858c2d * SPARC64 uses pascal startup code
git-svn-id: trunk@36426 -
2017-06-05 21:30:22 +00:00
Károly Balogh
365d774ca7 fixed zipinstall after r36418
git-svn-id: trunk@36419 -
2017-06-04 23:11:51 +00:00
florian
21e5f99faa + some basic compiler support for sparc64-linux
git-svn-id: trunk@36418 -
2017-06-04 22:07:24 +00:00
florian
229f615b59 * fix endless loop introduced by manual for -> while conversion
git-svn-id: trunk@36417 -
2017-06-04 20:04:35 +00:00
florian
126b834976 * ncgrtti has to use target pointer sizes, so changed SizeOf(PtrInt) into SizeOf(PInt), should fix #31964
* try to avoid to use anonymous records in ncgrtti

git-svn-id: trunk@36416 -
2017-06-04 19:57:46 +00:00
florian
1c85228481 * pass -Av9 to the assembler if we compile for SparcV9
git-svn-id: trunk@36410 -
2017-06-03 20:51:28 +00:00
florian
1f4432af6b * sparc64 compiler can be build, not working yet
git-svn-id: trunk@36399 -
2017-06-02 20:13:30 +00:00
pierre
0a237e88eb Regenerated after: sparc and sparc64 also need -Fisparcgen, because this directory contains include files
git-svn-id: trunk@36394 -
2017-06-01 13:43:43 +00:00
pierre
a6d1019514 sparc and sparc64 also need -Fisparcgen, because this directory contains include files
git-svn-id: trunk@36393 -
2017-06-01 13:42:35 +00:00
florian
a3aa2616fc * Makefiles regenerated
git-svn-id: trunk@36382 -
2017-05-31 20:59:41 +00:00
florian
832ad67d63 * more adaptions for SPARC64
git-svn-id: trunk@36381 -
2017-05-31 20:59:21 +00:00
florian
b59e4f5652 + register .inc files for SPARC64
git-svn-id: trunk@36380 -
2017-05-31 20:58:30 +00:00
florian
188ec0f0c7 + basics for sparc64 support, we continue to use the name "sparc" for sparc32, both sparc are identified by sparcgen (dirs, defines etc.)
git-svn-id: trunk@36374 -
2017-05-30 21:17:17 +00:00
Károly Balogh
1252aefb86 t_linux: whitespace and tab 2 space fix. no functional change.
git-svn-id: trunk@36370 -
2017-05-29 16:11:24 +00:00
nickysn
5138d4e067 * fixed avr multiplication after r36344
git-svn-id: trunk@36369 -
2017-05-29 12:42:02 +00:00
florian
22956c4393 + TX86AsmOptimizer.OptPass1OP
git-svn-id: trunk@36365 -
2017-05-28 13:49:43 +00:00
florian
7c0f72d9af * avoid spill coalesce of registers with itself, resolves issue #31926
git-svn-id: trunk@36363 -
2017-05-28 08:59:57 +00:00
florian
991d962ae2 * more range check errors on 8 bit CPUs fixed
git-svn-id: trunk@36362 -
2017-05-28 08:59:55 +00:00
florian
a37237ca11 * avoid range check errors with absolute symbols for cpus where addresses are bigger than the registers
git-svn-id: trunk@36361 -
2017-05-28 08:59:53 +00:00
florian
8ea9e3d344 * avoid range check errors on avr
git-svn-id: trunk@36360 -
2017-05-28 08:59:51 +00:00
florian
344970879e * spill coalesce uses get_alias
git-svn-id: trunk@36359 -
2017-05-28 08:59:49 +00:00
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
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
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
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
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
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
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
dd01b7ca8b fix a typo to hopefully fix the build
git-svn-id: trunk@36312 -
2017-05-23 21:13:00 +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