daniel
9256c180de
* Fix register allocation bug that happens when a coalesced
...
move is spilled in its entirely.
git-svn-id: trunk@6408 -
2007-02-10 22:47:13 +00:00
florian
08f48f5fc9
* completed jrcxz support
...
git-svn-id: trunk@6401 -
2007-02-10 21:14:05 +00:00
florian
a19ed91cc3
* fix for jcxz, jecxz and jrcxz on 64 bit platforms
...
git-svn-id: trunk@6400 -
2007-02-10 21:05:27 +00:00
Jonas Maebe
9813a8708c
* fixed encoding of jcxz
...
git-svn-id: trunk@6398 -
2007-02-10 20:38:38 +00:00
Jonas Maebe
1863fb4c55
* make more use of location_force_register in in-code, should fix
...
cycle on x86-64
git-svn-id: trunk@6376 -
2007-02-08 14:14:32 +00:00
Jonas Maebe
21cef2cdb1
* r6372 for x86(-64)
...
git-svn-id: trunk@6373 -
2007-02-07 23:10:54 +00:00
Jonas Maebe
f38d29cfab
* optimized previous patch for "byte in set" (Thorsten Engler)
...
* fixed storing/loading of setdefs to/from ppu + test (Thorsten Engler)
* fixed ppudump for new setdef format in ppus
git-svn-id: trunk@6363 -
2007-02-07 20:22:29 +00:00
Jonas Maebe
fc3852e59a
* in non-TP modes, 'ord_larger_than_256 in set' now always returns
...
false instead of triggering a range error (mantis #8258 ,
based on patch provided by Thorsten Engler)
git-svn-id: trunk@6357 -
2007-02-07 18:57:19 +00:00
Jonas Maebe
1a32e4fdf5
* fixed pushing of words in intel assembler (indirectly related to
...
wrong bug report 7808)
git-svn-id: trunk@6274 -
2007-01-30 21:52:11 +00:00
Jonas Maebe
cc67ed17b5
* fixed uninitialised variable (mantis 8198, already tested by
...
webtbs/tw3931a.pp)
git-svn-id: trunk@6183 -
2007-01-25 11:43:15 +00:00
Jonas Maebe
cdb67cfc8b
* fixed bug with set comparisons after r6172
...
git-svn-id: trunk@6181 -
2007-01-24 22:28:25 +00:00
florian
2579cd139f
+ support for sets with size 1 and 2
...
git-svn-id: trunk@6172 -
2007-01-24 20:06:56 +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
Jonas Maebe
c1df4454fe
* cmpxchg8b doesn't have a size suffix
...
git-svn-id: trunk@6164 -
2007-01-24 15:15:04 +00:00
Jonas Maebe
11528c9da6
* better fix for tw8171 (now also works for with-statements)
...
git-svn-id: trunk@6158 -
2007-01-24 09:55:45 +00:00
Jonas Maebe
ed13c7f60e
+ support for [recordfield.field] in assembler blocks in methods in
...
intel assembler (mantis 8171)
git-svn-id: trunk@6150 -
2007-01-23 17:34:11 +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
florian
2da51bce72
+ cmpxchg16b
...
git-svn-id: trunk@6095 -
2007-01-21 11:04:19 +00:00
florian
5e2042cff8
* correct assembling of test rm8,reg8
...
git-svn-id: trunk@5972 -
2007-01-14 18:08:37 +00:00
Jonas Maebe
abef29c1d5
* fixed x86 vector mmloads and use scalar loads in ncgcnv
...
git-svn-id: trunk@5967 -
2007-01-14 13:36:26 +00:00
Jonas Maebe
fc99b0ad48
* fixed floating point precision conversions for loc_mmregister and
...
between loc_fpuregister and loc_mmregister
git-svn-id: trunk@5942 -
2007-01-13 15:00:00 +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
florian
36a500c38c
* don't coalescate with frame/stack pointer
...
git-svn-id: trunk@5880 -
2007-01-11 10:47:07 +00:00
florian
c238bb15d1
* .init section support
...
git-svn-id: trunk@5835 -
2007-01-07 10:03:52 +00:00
florian
db3f8575ae
* fixed library creating on x86_64-linux
...
git-svn-id: trunk@5828 -
2007-01-06 20:27:59 +00:00
florian
c759b114bf
* allow second operand being am imm in intel assembler, fixed #7719
...
git-svn-id: trunk@5823 -
2007-01-05 23:15:25 +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
a4a54a105d
* fixed sse float substraction in case of swapped operands
...
git-svn-id: trunk@5817 -
2007-01-05 12:37:14 +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
pierre
fc66d46beb
+ added several warnings about use of references
...
involving (%ebp) or (%esp) in assembler code.
Useful to track code that might suffer from regcall
convention.
git-svn-id: trunk@5736 -
2006-12-29 09:37:15 +00:00
Jonas Maebe
05a07a7dd2
* better fix for previous revision
...
* also applied to x86 and m68k
git-svn-id: trunk@5512 -
2006-11-30 20:55:32 +00:00
florian
836dbad1b2
* bitpacked stuff fixed for x86-64
...
git-svn-id: trunk@5503 -
2006-11-26 21:57:34 +00:00
florian
6118c3e477
* fixed assembling of movd with 64 bit registers
...
* fixed passing of floats to c varargs
git-svn-id: trunk@5477 -
2006-11-25 20:32:32 +00:00
peter
0557ddc342
* removed typed const, it is now handled by staticvarsym
...
* globalvarsym renamed to staticvarsym
* fixed invalid regvar use in init when the finalize also uses the var
git-svn-id: trunk@5290 -
2006-11-08 21:04:22 +00:00
peter
e17b424e28
* refactor procsym procdef list
...
git-svn-id: trunk@5210 -
2006-11-03 18:44:46 +00:00
peter
658c46b903
* remove tdictionary and tindexarray
...
* symtables based on TFPHashObjectList and TFPObjectList
* rename torddef.typ to torddef.ordtype
* rename tfloatdef.typ to tfloatdef.floattype
* rename tdef.deftype to tdef.typ
* remove obsolete browser code, browcol is kept so the ide
can still be compiled
git-svn-id: trunk@5192 -
2006-11-03 00:30:30 +00:00
peter
1684a6fc32
* replaced tdictionary with tfphashlist
...
git-svn-id: trunk@5148 -
2006-11-01 14:26:50 +00:00
peter
05183ac829
* AsmSymbolDict changed to FPHashObjectList
...
git-svn-id: trunk@5139 -
2006-11-01 00:22:13 +00:00
peter
cb246eb781
* Remove dos,strings units, use SysUtils instead
...
* replace split* functions with Extract* functions
* Add Directory caching
git-svn-id: trunk@5102 -
2006-10-30 23:29:35 +00:00
florian
ef7bd58c54
* germanism removed (aktfilepos -> current_filepos)
...
git-svn-id: trunk@5099 -
2006-10-30 22:37:31 +00:00
florian
85d63d9fa9
* settings refactored
...
git-svn-id: trunk@5094 -
2006-10-30 18:02:58 +00:00
peter
3078a1927f
* remove ttype
...
* rename old ttype variables *type to *def
* rename resulttypepass to pass_typecheck
* rename pass_2 to pass_generate_code
git-svn-id: trunk@5077 -
2006-10-29 22:19:39 +00:00
daniel
3125ed73cf
* Add one more call to get_alias
...
git-svn-id: trunk@5000 -
2006-10-22 09:18:37 +00:00
daniel
01afee1f73
* Add extra calls to get_alias to properly recognize coalesced
...
registers to be spilled.
git-svn-id: trunk@4997 -
2006-10-21 21:31:08 +00:00
peter
076fb20774
* don't apply typesize of record if a field size is applied
...
git-svn-id: trunk@4971 -
2006-10-18 21:22:00 +00:00
peter
1de2f94b28
* fixed typo in r4848
...
git-svn-id: trunk@4966 -
2006-10-18 20:19:44 +00:00
florian
b22e688ad8
* fixed fstenv instruction dat
...
git-svn-id: trunk@4907 -
2006-10-14 16:53:39 +00:00
florian
66b1932d52
* fixed rex writing for floating point instructions
...
git-svn-id: trunk@4898 -
2006-10-14 11:21:17 +00:00
peter
71665dbc4c
* initial addr_pic support for x86_64 binary writer
...
git-svn-id: trunk@4848 -
2006-10-10 18:36:41 +00:00
florian
fb5e396881
+ experimental -Sv option to support vector arithmetics
...
git-svn-id: trunk@4825 -
2006-10-07 21:39:48 +00:00