florian
b984b2227f
* improved constant loading for arm
...
git-svn-id: trunk@8429 -
2007-09-11 19:28:48 +00:00
yury
3e60b4a8dd
* Don't optimize (eliminate) arm fpu move instruction if it performs float type conversion. It fixes tb0519.pp on arm-linux.
...
git-svn-id: trunk@8059 -
2007-07-14 21:52:15 +00:00
yury
bd0cafd545
* fixed ARM stackframe optimization when float registers are used.
...
git-svn-id: trunk@8032 -
2007-07-12 21:55:34 +00:00
yury
1782305ae2
* Completely fixed float constants in softfloat mode when compiler was compiled in hardfloat mode on arm-linux host.
...
git-svn-id: trunk@8015 -
2007-07-10 21:05:12 +00:00
yury
09fa6b5893
* Fixed Abs and Sqrt in hardfloat mode on arm.
...
git-svn-id: trunk@7980 -
2007-07-08 08:17:32 +00:00
yury
b86574cf36
* Fixed float constants in softfloat mode when compiler was compiled in hardfloat mode on arm-linux host.
...
git-svn-id: trunk@7977 -
2007-07-07 19:19:49 +00:00
yury
2829f4e46f
* Fixed arm optimizer bug (mantis #9209 ). No testsuite regressions with -O2.
...
* Removed unused local vars.
+ test.
git-svn-id: trunk@7970 -
2007-07-06 13:09:28 +00:00
yury
86d49c2a0c
* Activated safecall support for ARM CPU.
...
git-svn-id: trunk@7762 -
2007-06-21 17:32:35 +00:00
yury
d1c2f41c66
* Fixed passing variant parameters by value for ARM. It fixes tw7806.pp.
...
git-svn-id: trunk@7758 -
2007-06-21 15:06:43 +00:00
yury
ff3bd9fa6f
* fixed compilation for arm targets.
...
git-svn-id: trunk@7729 -
2007-06-18 23:38:54 +00:00
yury
3b7e458f02
* Properly set location of float return value if it is passed as var parameter (it is always happens for safecall functions). It fixes bugs #8523 and #8977 .
...
+ test.
git-svn-id: trunk@7728 -
2007-06-18 23:23:46 +00:00
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