Commit Graph

22 Commits

Author SHA1 Message Date
Jonas Maebe
eb7ba1690e * mark all external assemblers using an LLVM tool using af_llvm
+ added support for constructing target triplets
  * pass "-target triplet" when using an LLVM assembler
   o removed no longer needed $DARWINVERSION and $ARCH parameters
  * consistently use as_clang_gas when clang is used to assembler GAS-style
    assembly, and rename as_llcm_clang to as_clang_llvm (for consistency)
  * support pipe assembling when using clang on *nix in all cases

git-svn-id: trunk@45807 -
2020-07-19 14:30:35 +00:00
nickysn
a8fe46c0f5 + introduced labelmaxlen in tasminfo and added code in ReplaceForbiddenAsmSymbolChars that limits the
output label to that length

git-svn-id: branches/z80@45066 -
2020-04-25 12:59:25 +00:00
svenbarth
f5fc806c9d * fix comment
git-svn-id: trunk@44745 -
2020-04-17 14:44:11 +00:00
Jonas Maebe
592df7fa59 * disable cs_opt_regvar on all platforms when compiled for LLVM (LLVM does
that itself, our LLVM code generator can't handle it, and if it did then
    afterwards we would have to spill 90% of those register variables again
    to make them SSA)

git-svn-id: trunk@44062 -
2020-01-29 22:21:07 +00:00
florian
ef87879402 * common naming for fpu_none string
git-svn-id: trunk@43768 -
2019-12-24 16:14:28 +00:00
pierre
d8b89432a2 * Set ControllerSupport to false for sparc/sparc64 and x86_64 CPUs.
This boolean must only be set to true if TControllerType is not simply (ct_none)
  * ppu.pas: Increment CurrentPPULongVersion constant as the above modification
    changes the number of fields of the TSettings record that is saved to
    PPU in ST_LOADSETTINGS field.

git-svn-id: trunk@42323 -
2019-07-04 15:24:49 +00:00
Jonas Maebe
281b3ad276 * fix case completeness and unreachable code warnings in compiler that would
be introduced by the next commit

git-svn-id: trunk@42046 -
2019-05-12 14:29:03 +00:00
Jonas Maebe
4686f61002 * keep track of the temp position separately from the offset in references,
so that they can still be freed after the reference has been changed
    (e.g. in case of array indexing or record field accesses) (mantis #33628)

git-svn-id: trunk@38814 -
2018-04-22 17:03:16 +00:00
florian
049d7884cd * take advantage of the fact that SRA reg1,x,reg2 sign extends to the upper 32 bit bits of a 64 bit register
git-svn-id: trunk@36957 -
2017-08-20 17:20:37 +00:00
florian
9c3f5db022 * split create_paraloc_info_intern for sparc32 and sparc64
* fixed several sparc64 calling convention issues

git-svn-id: trunk@36947 -
2017-08-20 15:21:51 +00:00
florian
7ed3757f8c + TCGSparc64.a_load_reg_ref_unaligned
git-svn-id: trunk@36763 -
2017-07-21 21:17:41 +00:00
pierre
6fdd952fd9 Fix check for setting use_unlimited_pic_mode for sparc64
git-svn-id: trunk@36746 -
2017-07-18 18:02:36 +00:00
florian
65c9e6c32e + fccX registers
git-svn-id: trunk@36633 -
2017-07-03 20:48:56 +00:00
florian
c321fb35f1 * integer registers on sparc(64) do not have an explicit size anymore, simplifies compiler code sharing between sparc32 and sparc64
+ %icc and %xcc register for sparc64

git-svn-id: trunk@36548 -
2017-06-19 21:18:09 +00:00
florian
3ee8e836e9 * properly handle constants from -2^32 to -1 on sparc64
git-svn-id: trunk@36546 -
2017-06-19 21:18:05 +00:00
florian
fd698a22f4 * handling of negative constants in TCGSparc64.a_load_const_reg
* create a cg128 for sparc64

git-svn-id: trunk@36519 -
2017-06-18 15:51:28 +00:00
florian
3c72115e30 * basic sparc64 calling convention handling and stack frame handling fixed
git-svn-id: trunk@36518 -
2017-06-18 15:49:21 +00:00
florian
5e969d90cb + SPARC64 cpugas unit
+ support for %gdop_hix22/%gdop_lox22

git-svn-id: trunk@36475 -
2017-06-10 11:24:55 +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
florian
1f4432af6b * sparc64 compiler can be build, not working yet
git-svn-id: trunk@36399 -
2017-06-02 20:13:30 +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