Commit Graph

41 Commits

Author SHA1 Message Date
pierre
6e18d537fc Use A_LD_R and A_ST_R aliases for spilling_create_(load|store) functions
git-svn-id: trunk@36793 -
2017-07-26 14:56:11 +00:00
pierre
f5dfbb5ff3 Add A_ST_R and A_LD_R instruction alias for whole register size store/load
git-svn-id: trunk@36792 -
2017-07-26 14:53:30 +00:00
florian
eaa33f416c * sparc64: fix int to bool type conversions for 64 bit ints
git-svn-id: trunk@36762 -
2017-07-21 20:41:14 +00:00
pierre
f3459454e6 Fix compilation failure for sparc CPU
git-svn-id: trunk@36741 -
2017-07-18 04:47:49 +00:00
florian
a7d127cf08 * only sparc v7 and v8 require an instruction between FCMP and the branch
git-svn-id: trunk@36737 -
2017-07-16 09:24:20 +00:00
florian
ac894831e4 * use the 64 bit path in tSparcmoddivnode.pass_generate_code for all 64 bit types (including currency) on sparc64
git-svn-id: trunk@36736 -
2017-07-16 09:24:18 +00:00
florian
dd3d62425c * guard case statement by internalerror to avoid a warning
git-svn-id: trunk@36716 -
2017-07-09 21:33:22 +00:00
florian
f30bf547e2 * TCGSparcGen.maybeadjustresult adapted for sparc64
git-svn-id: trunk@36711 -
2017-07-09 18:14:14 +00:00
florian
25950b8575 * 64 bit multiplications for sparc64 fixed
git-svn-id: trunk@36675 -
2017-07-07 22:18:16 +00:00
florian
bd57ca99a8 * cosmetics
git-svn-id: trunk@36672 -
2017-07-07 22:18:11 +00:00
florian
cbe9a1b65f * make thlcgcpu.g_intf_wrapper usable for sparc64 as well
git-svn-id: trunk@36665 -
2017-07-07 13:17:42 +00:00
florian
8401a460e5 + support 64 bit sar on sparc64
* fix on sparc64 broken a_cmp_const_reg_label and a_cmp_reg_reg_label

git-svn-id: trunk@36661 -
2017-07-07 10:11:44 +00:00
florian
1f4d6e8a4d * compilation on 32 bit sparc fixed
git-svn-id: trunk@36660 -
2017-07-07 09:30:50 +00:00
florian
c8c14d8db9 * pass -32 to the sparc assembler
git-svn-id: trunk@36659 -
2017-07-07 09:08:05 +00:00
florian
a9a0ca6649 * sparc64 needs a helper for overflow checked 64 bit division operations
git-svn-id: trunk@36658 -
2017-07-07 09:08:02 +00:00
florian
ca51bd56c4 + a_jmp_cond64
* generate 64 bit comparisons if needed

git-svn-id: trunk@36657 -
2017-07-06 18:02:24 +00:00
florian
109612b7e1 * correctly load 32 bit values on sparc64
git-svn-id: trunk@36644 -
2017-07-04 20:52:47 +00:00
florian
57a137068b * integer registers must have the size R_SUBWHOLE for sparc, resolves issue #32065
git-svn-id: trunk@36639 -
2017-07-03 20:49:06 +00:00
florian
28cfa838b5 + support for the different flag registers of sparc
* fixing 64 bit cmp operations on sparc64

git-svn-id: trunk@36638 -
2017-07-03 20:49:05 +00:00
florian
4b30e5ee11 + TSparcmoddivnode.pass_generate_code for SPARC64
git-svn-id: trunk@36637 -
2017-07-03 20:49:03 +00:00
florian
5bc9890727 + more sparc64 instructions
git-svn-id: trunk@36636 -
2017-07-03 20:49:01 +00:00
florian
5b91fd7065 + taicpu.op_reg_sym for sparc
git-svn-id: trunk@36635 -
2017-07-03 20:49:00 +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
7edc8407fc + flushw opcode
git-svn-id: trunk@36547 -
2017-06-19 21:18:07 +00:00
florian
2109fb33ab * more sparc64 support in the generic sparc code generator
git-svn-id: trunk@36521 -
2017-06-18 15:52:41 +00:00
florian
91994ef404 * set basic constants for address sizes etc. correctly for sparc64
git-svn-id: trunk@36520 -
2017-06-18 15:52:09 +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
34f595b27e + more sparc64 support for tsparcaddnode
git-svn-id: trunk@36476 -
2017-06-10 11:26:10 +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
pierre
65e3c777dc Fix compilation of sparc64 compiler
git-svn-id: trunk@36447 -
2017-06-08 11:19:12 +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
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
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
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
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