daniel
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
...
+ Some initial work on a formaldef which also carries the typinfo of a parameter.
git-svn-id: trunk@7639 -
2007-06-13 07:41:18 +00:00
florian
a3d906f1ca
- removed several ;;
...
git-svn-id: trunk@7498 -
2007-05-28 15:59:17 +00:00
daniel
182fca72f2
* Change spill_* routines to return Taicpu instead of Tai to increase
...
strong typing.
* Fix PowerPC R0 register allocation
git-svn-id: trunk@7317 -
2007-05-12 15:43:16 +00:00
florian
70b438a40f
* better insert of pc relative data
...
git-svn-id: trunk@6975 -
2007-03-24 18:35:53 +00:00
florian
dd45cf582f
* set temp. start properly when omitting stackframe
...
git-svn-id: trunk@6761 -
2007-03-09 20:52:04 +00:00
florian
ffd79553a0
+ prefetch support for arm
...
git-svn-id: trunk@6561 -
2007-02-19 17:27:07 +00:00
florian
e8c48ab561
+ eDSP instructions for arm
...
git-svn-id: trunk@6425 -
2007-02-11 15:10:27 +00:00
florian
eb8b2fb138
* be more carefull with unaligned load optimization
...
git-svn-id: trunk@6356 -
2007-02-07 17:43:56 +00:00
florian
a800b2a3d3
* fixed interference generation for top_local
...
git-svn-id: trunk@6343 -
2007-02-04 20:43:31 +00:00
florian
c5d8e53758
* last commit fixed
...
git-svn-id: trunk@6338 -
2007-02-04 18:50:22 +00:00
florian
3609ddc5dd
* more MustBeLast fixes
...
* const insertation algorithm fixed
git-svn-id: trunk@6337 -
2007-02-04 18:45:43 +00:00
florian
762bd12d16
* handle embedded case jump tables correctly
...
git-svn-id: trunk@6333 -
2007-02-04 14:33:57 +00:00
florian
35b9bfc83e
* several range check errors fixed
...
git-svn-id: trunk@6324 -
2007-02-03 19:36:06 +00:00
florian
8d33f640d4
* stop conditional optimization at mov pc,...
...
git-svn-id: trunk@6321 -
2007-02-03 17:40:32 +00:00
florian
d09295b686
* shift folding
...
git-svn-id: trunk@6312 -
2007-02-02 23:12:08 +00:00
florian
01b23ca896
* improved last commit
...
git-svn-id: trunk@6309 -
2007-02-02 22:47:29 +00:00
florian
d0b34fef46
* safe an loadaddr for simple references when generating unaligned accesses
...
git-svn-id: trunk@6308 -
2007-02-02 22:43:30 +00:00
florian
b16b9d5251
* don't load a spilled register between mov lr,pc mov pc,<reg>
...
git-svn-id: trunk@6273 -
2007-01-30 21:34:26 +00:00
florian
0fd3498892
* fixed longint -> real, was broken in 6153
...
git-svn-id: trunk@6257 -
2007-01-28 21:27:21 +00:00
Jonas Maebe
c866400823
+ support for VMTOFFSET in assembler readers to get VMT offset of virtual
...
methods (mantis #8153 )
git-svn-id: trunk@6168 -
2007-01-24 18:26:23 +00:00
florian
4e69739a78
* fixed dword -> single
...
git-svn-id: trunk@6155 -
2007-01-23 22:12:13 +00:00
florian
df44f7c231
* fixed dword -> double in fpa mode
...
git-svn-id: trunk@6153 -
2007-01-23 21:07:09 +00:00
florian
c16c124562
* handle pc relative offsets in ldf/stf correctly
...
git-svn-id: trunk@6115 -
2007-01-21 22:55:12 +00:00
Jonas Maebe
302a2a3ec2
* fixed calling qualified methods in assembler + tests for ppc/ppc64/
...
i386/x86_64
git-svn-id: trunk@6112 -
2007-01-21 22:16:42 +00:00
yury
36ea8ec683
* Fixed Internal error 2003042401 in tw7379 for ARM CPU.
...
git-svn-id: trunk@5963 -
2007-01-14 01:15:22 +00:00
Jonas Maebe
e815b923d5
* a_loadfpu_* gets two size parameters: fromsize and tosize
...
* fixed downsizing the precision of floating point values
* floating point constants are now treated using only the minimal
precision required (e.g. 2.0 is now a single, 1.1 extended etc)
(Delphi compatible)
git-svn-id: trunk@5927 -
2007-01-12 18:33:51 +00:00
Jonas Maebe
1d96dcc50d
* renamed nf_swaped to nf_swapped
...
git-svn-id: trunk@5818 -
2007-01-05 12:47:22 +00:00
Jonas Maebe
a23fa2e81e
* moved (unfinished) routines related to writing taicpu's to ppu files
...
from x86/aasmcpu to aasmtai and (new) aasmsym, so that when they're
finished they're available for all targets
* added dummy implementation of tai_cpu_abstract.pass1 and pass2 so there
are no more hundreds of warnings on non-x86 about constructing taicpu
instances with abstract methods
git-svn-id: trunk@5787 -
2007-01-02 18:28:05 +00:00
yury
11daaa31f2
* fixed Internal error 200408203 in tbs/tb0258.pp for ARM.
...
git-svn-id: trunk@5669 -
2006-12-21 22:02:29 +00:00
yury
2a274aa510
* fixed tbs/tb0350.pp.
...
* removed unused local variables.
git-svn-id: trunk@5667 -
2006-12-21 21:18:38 +00:00
yury
496e19c9c2
* fixed ARM register allocation problem when additional register is used for spilling.
...
git-svn-id: trunk@5659 -
2006-12-21 14:18:03 +00:00
florian
fd2032dab2
+ start of embedded rtl
...
+ feature support in the compiler
git-svn-id: trunk@5628 -
2006-12-17 18:40:36 +00:00
Legolas
96e1c482bc
* compiler part of first Nintendo DS port
...
git-svn-id: trunk@5592 -
2006-12-14 17:32:16 +00:00
yury
c427fcf902
* fixed register to register conversion for ARM.
...
git-svn-id: trunk@5537 -
2006-12-03 22:01:33 +00:00
yury
96bfb7ce97
* don't destroy both r11 and r13 when copying data.
...
git-svn-id: trunk@5485 -
2006-11-26 13:18:27 +00:00
yury
d4335749ec
* reverted r5481. That order of instructions can be executed more effectively on newer ARM CPUs.
...
git-svn-id: trunk@5484 -
2006-11-26 11:42:29 +00:00
florian
01a20b25a2
* don't reuse registers
...
git-svn-id: trunk@5483 -
2006-11-26 11:11:14 +00:00
yury
35b1014207
* more usual order of instructions.
...
git-svn-id: trunk@5481 -
2006-11-26 10:06:12 +00:00
florian
b77a5016ca
* don't destroy r13 when copying data
...
git-svn-id: trunk@5470 -
2006-11-24 21:55:23 +00:00
yury
a4407d5ad2
* fixed insertpcrelativedata when case jump table is used.
...
git-svn-id: trunk@5468 -
2006-11-24 13:40:49 +00:00
yury
e94277d5dc
* removed unneeded label.
...
* asm output beautification.
git-svn-id: trunk@5467 -
2006-11-24 13:20:32 +00:00
florian
964a98edca
* fixed spilling with large offsets
...
git-svn-id: trunk@5463 -
2006-11-23 19:49:27 +00:00
yury
70b5d41d5c
* optimized case jump table generation for ARM.
...
git-svn-id: trunk@5458 -
2006-11-23 00:55:16 +00:00
yury
187c71ac18
* fixed and enabled case jump table generation for ARM.
...
git-svn-id: trunk@5446 -
2006-11-22 12:16:33 +00:00
yury
5ceef96cf3
* fixed double parameters passing and storing result for ARM in softfloat mode (by removing old hacks).
...
git-svn-id: trunk@5438 -
2006-11-21 21:20:24 +00:00
yury
257a76d6c8
* finally fixed case code generation for ARM.
...
git-svn-id: trunk@5437 -
2006-11-21 21:16:25 +00:00
florian
fbc197f27a
* fixed writing of double constants on WinCE
...
git-svn-id: trunk@5416 -
2006-11-17 22:17:54 +00:00
yury
135c0ecfb7
* fixed passing float constants as part of "array of const" parameter for ARM.
...
git-svn-id: trunk@5403 -
2006-11-16 17:01:17 +00:00
yury
347af4dbe4
* fixed case code for ARM.
...
git-svn-id: trunk@5402 -
2006-11-16 13:07:32 +00:00
florian
3f0dfdcba4
* OP_SUB must set always the flags in case of case
...
git-svn-id: trunk@5400 -
2006-11-16 10:21:43 +00:00