Jonas Maebe
51259b697b
* more mmx/sse register spilling fixes:
...
* operand read/write info for movaps and movapd
* use "movapd reg,reg" instead of "movaps reg,reg" if appropriate
so the spilling code can spill the correct size to memory
* replace movaps/movapd with movss/movsd when spilling to memory
instead of movq
git-svn-id: trunk@4612 -
2006-09-12 11:07:45 +00:00
Jonas Maebe
7528a28287
* keep track of a sym's initial location to use during the generation
...
of init code
git-svn-id: trunk@4611 -
2006-09-11 18:55:40 +00:00
Jonas Maebe
8637bddf72
* initialize full 64 bit of 64 bit static/global register variables
...
git-svn-id: trunk@4610 -
2006-09-11 12:33:13 +00:00
florian
bfa6ec847a
* win64 can't grow the stack either so make $memory big enough
...
git-svn-id: trunk@4609 -
2006-09-10 20:34:19 +00:00
Marc Weustink
9000d5c578
+ Added dwarf .debug_line info
...
-This line, and those below, will be ignored--
M compiler/dbgdwarf.pas
M compiler/aggas.pas
git-svn-id: trunk@4607 -
2006-09-10 17:59:18 +00:00
Jonas Maebe
6997121c18
* also perform "SSA" for certain loads (currently derefn, righthand side of
...
assignmentn and callparan), reduces number of long lived conflicts.
Mainly helpful on register-starved cpus such as i386.
git-svn-id: trunk@4606 -
2006-09-10 16:21:50 +00:00
Jonas Maebe
cd0c38b9d9
* fixed spilling of mmx registers
...
git-svn-id: trunk@4604 -
2006-09-10 15:59:58 +00:00
Jonas Maebe
c261068ab5
* use generic second_addboolean for short circuit and/or (since that code
...
is the same as what was in nppcadd)
git-svn-id: trunk@4600 -
2006-09-10 15:14:03 +00:00
Jonas Maebe
971098f259
* forgot to commit (part of r4590)
...
git-svn-id: trunk@4598 -
2006-09-10 13:47:11 +00:00
Jonas Maebe
9eb9d90ff7
* fixed missing escaping of -XP parameter value
...
git-svn-id: trunk@4597 -
2006-09-10 11:53:58 +00:00
Jonas Maebe
8fbc58e1c9
* properly set default source system for darwin cross compilations
...
git-svn-id: trunk@4596 -
2006-09-10 11:52:06 +00:00
Jonas Maebe
e2872c9aea
* fixed more missing subsetreg/subsetref support
...
git-svn-id: trunk@4595 -
2006-09-09 22:10:32 +00:00
Jonas Maebe
b9f32e1828
* use expectloc instead of location.loc in pass1
...
git-svn-id: trunk@4594 -
2006-09-09 22:06:46 +00:00
florian
97ce278e14
* fixed another calling convention problem on win64
...
git-svn-id: trunk@4593 -
2006-09-09 20:11:47 +00:00
Jonas Maebe
cd5b9245f9
+ support for bitsizeof() function
...
+ some small tests for it
git-svn-id: trunk@4590 -
2006-09-09 18:57:49 +00:00
florian
b3ae0c51a4
* sizes2load handles OS_NO properly if one size is given
...
git-svn-id: trunk@4586 -
2006-09-09 18:12:07 +00:00
florian
819dec1411
* pass only non specialized arrays in registers on win x64
...
git-svn-id: trunk@4585 -
2006-09-09 17:33:41 +00:00
florian
24ae32c855
* fixed passing of record parameters on win64
...
git-svn-id: trunk@4583 -
2006-09-09 16:33:15 +00:00
Jonas Maebe
1a8c2f405d
* fixed for subsetref/subsetreg
...
git-svn-id: trunk@4578 -
2006-09-09 09:31:14 +00:00
Jonas Maebe
3a54183ce8
* clarified errors regarding invalid uses of packed array/record fields
...
git-svn-id: trunk@4577 -
2006-09-09 08:17:37 +00:00
Jonas Maebe
758a1ab5b0
* allow taking the address of packed array elements if the element size
...
is a multiple of 8 bits
git-svn-id: trunk@4576 -
2006-09-09 07:49:43 +00:00
florian
930086df3f
* fixed cvtsi2sd for 64 bit ints
...
git-svn-id: trunk@4575 -
2006-09-08 21:34:12 +00:00
Jonas Maebe
733f559267
* also perform C varargs type conversions for cdecl procedures declared
...
as "varargs" instead of using an array of const parameter
git-svn-id: trunk@4572 -
2006-09-08 16:04:15 +00:00
florian
55484f9bb7
* shifting can operate on 64 bit values on x86_64
...
git-svn-id: trunk@4561 -
2006-09-07 19:41:02 +00:00
peter
d1e7a68289
* include para number in call by var error
...
git-svn-id: trunk@4557 -
2006-09-04 21:14:22 +00:00
peter
d0156354a6
* inline directive enabled by default for fpc,objfpc,delphi modes
...
* -Si and $inline directive control are now local switches and
have finer control on whether a function will really inlined or not
git-svn-id: trunk@4553 -
2006-09-04 19:54:21 +00:00
Jonas Maebe
af538ebde8
* fixed merging of identical ansi/widestrings
...
git-svn-id: trunk@4552 -
2006-09-04 13:08:20 +00:00
Jonas Maebe
9b33012fe9
* fixed compilation
...
git-svn-id: trunk@4551 -
2006-09-04 11:34:02 +00:00
olle
05d6f0e94d
macos: added a fake sysutils for use by compiler, and fixed some tests
...
git-svn-id: trunk@4549 -
2006-09-03 22:30:37 +00:00
peter
2ecd4522be
* make rvasize the same as datasize
...
git-svn-id: trunk@4546 -
2006-09-03 20:41:02 +00:00
peter
bf1c390027
* refactor import library generation
...
* support variable imports in internal linker
git-svn-id: trunk@4544 -
2006-09-03 19:22:31 +00:00
peter
d79df4c74a
* 64bit support for shrd
...
git-svn-id: trunk@4541 -
2006-09-03 08:56:10 +00:00
peter
84d652e3c9
* remove extdebug register unused warning, it is obsolete with the ssa for registers
...
git-svn-id: trunk@4540 -
2006-09-03 08:30:05 +00:00
florian
e08bf34689
* stack page initialization disabled, not necessary according to Yury Sidorov
...
git-svn-id: trunk@4539 -
2006-09-02 20:43:59 +00:00
florian
e1d1f92672
* don't write rex twice
...
git-svn-id: trunk@4525 -
2006-08-31 21:58:13 +00:00
florian
8fc17f4d7d
* updates from Karl-Michael Schindler
...
+ utf-8 version
git-svn-id: trunk@4523 -
2006-08-31 15:04:39 +00:00
florian
d4d4d03b3b
* correct handling of result register allocation of exception helpers
...
git-svn-id: trunk@4522 -
2006-08-31 14:53:20 +00:00
florian
6d0a078441
* do stack page initialization on i386-wince as well
...
git-svn-id: trunk@4521 -
2006-08-31 14:23:29 +00:00
florian
7145eeb4b9
* bugs in wince stack initialization fixed
...
git-svn-id: trunk@4517 -
2006-08-29 19:32:40 +00:00
florian
e08a24562c
* experimental wince stack initialization fix
...
git-svn-id: trunk@4516 -
2006-08-29 16:01:52 +00:00
florian
1f032375c3
* improved template with help from Mattias Gaertner
...
git-svn-id: trunk@4515 -
2006-08-28 20:29:04 +00:00
florian
049312ced8
* first try to make a lazarus template project
...
git-svn-id: trunk@4514 -
2006-08-28 12:26:11 +00:00
florian
5118e35016
* another mayewriterex added, fixes #7261
...
git-svn-id: trunk@4511 -
2006-08-27 18:49:12 +00:00
Jonas Maebe
c9c56996cc
- removed wrong databitsize assignment (which had no effect)
...
git-svn-id: trunk@4510 -
2006-08-27 11:30:27 +00:00
Jonas Maebe
340e2257f3
* don't allow taking the address of packed record fields
...
* don't allow using packed record fields as loopvars
git-svn-id: trunk@4509 -
2006-08-27 11:08:39 +00:00
Jonas Maebe
2b3250aac0
* no support yet for packed records which need to be initialized
...
git-svn-id: trunk@4499 -
2006-08-24 10:02:19 +00:00
Tomas Hajny
e63fae2de1
* updates corresponding to errore.msg r4489
...
git-svn-id: trunk@4497 -
2006-08-23 22:28:22 +00:00
Tomas Hajny
580749cd45
* previous wrong commit fixed
...
git-svn-id: trunk@4495 -
2006-08-23 22:21:54 +00:00
Jonas Maebe
6845c1e05a
+ subsetref support
...
git-svn-id: trunk@4492 -
2006-08-23 17:59:02 +00:00
Jonas Maebe
0be55cf230
* fixed a missed "(1 shl 32) - 1 = 0" problem for x86
...
git-svn-id: trunk@4491 -
2006-08-23 17:56:16 +00:00