Commit Graph

64 Commits

Author SHA1 Message Date
peter
5a68a743fc * remove invalid aword typecast
git-svn-id: trunk@6131 -
2007-01-22 19:40:31 +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
d0b6292137 * disable overflow checking when performing pointer arithmetic
(mantis 8049)

git-svn-id: trunk@5822 -
2007-01-05 21:52:31 +00:00
Jonas Maebe
1d96dcc50d * renamed nf_swaped to nf_swapped
git-svn-id: trunk@5818 -
2007-01-05 12:47:22 +00:00
florian
7781e842fc * varset support fixed
git-svn-id: trunk@5294 -
2006-11-08 22:48:44 +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
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
florian
fb5e396881 + experimental -Sv option to support vector arithmetics
git-svn-id: trunk@4825 -
2006-10-07 21:39:48 +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
florian
8102053adc * fixed compilation on 64 bit CPUs
git-svn-id: trunk@4464 -
2006-08-20 09:25:37 +00:00
Jonas Maebe
03302dc7c4 * fixed support for macpas & and | operators: they only work on booleans
now, and always perform short circuit boolean evaluation (also in {$b+})

git-svn-id: trunk@3745 -
2006-05-30 13:02:36 +00:00
florian
98d428ff30 * fixed coding style
git-svn-id: trunk@3338 -
2006-04-26 18:13:14 +00:00
peter
b7fe6797bf Merged revisions 2921-2922,2925 via svnmerge from
http://svn.freepascal.org/svn/fpc/branches/linker/compiler

........
r2921 | peter | 2006-03-15 08:35:00 +0100 (Wed, 15 Mar 2006) | 2 lines

  * pass ObjectWriter to ObjectOuput

........
r2922 | peter | 2006-03-15 12:40:30 +0100 (Wed, 15 Mar 2006) | 2 lines

  * refactor asmdata

........
r2925 | peter | 2006-03-15 16:09:39 +0100 (Wed, 15 Mar 2006) | 3 lines

  * add cfi to asmdata
  * move asmlist, asmcfi, asmdata to own unit

........

git-svn-id: trunk@2932 -
2006-03-16 08:52:22 +00:00
peter
588cccb3ca * remove some obsolete i386 specific code
* use a_optimize_const to remove useless opcodes

git-svn-id: trunk@2910 -
2006-03-13 16:37:08 +00:00
peter
a3ab2053c9 * support multiple asmlabel types, renamed getlabel to
getjumplabel and added type para to getlabel for specific types
  * moved lineinfo generation from assemble and aggas to dbgstabs

git-svn-id: trunk@1120 -
2005-09-18 21:16:10 +00:00
florian
dac1050c11 + mmx support revived, fixes bug #4106
git-svn-id: trunk@555 -
2005-07-02 11:53:51 +00:00
fpc
790a4fe2d3 * log and id tags removed
git-svn-id: trunk@42 -
2005-05-21 09:42:41 +00:00
fpc
50778076c3 initial import
git-svn-id: trunk@1 -
2005-05-16 18:37:41 +00:00
Jonas Maebe
43c5b3fd29 * fixed web bug #3533 2005-03-01 21:28:50 +00:00
florian
f3b711d3bf * don't generate overflow results if they aren't necessary
* fixed op_reg_reg_reg_reg on arm
2005-02-15 19:53:41 +00:00
peter
e417e34496 * truncate log 2005-02-14 17:13:06 +00:00
florian
8cf4e1a6d3 * setup ovlov correctly 2005-02-13 19:12:05 +00:00
florian
22d9294ab3 + overflow checking for the arm 2005-02-13 18:55:19 +00:00
peter
3dcc711558 * fixed x86_64 compile 2005-01-29 00:40:18 +00:00
florian
651f9e5bbd + implemented overflow checking for 64 bit types on sparc 2005-01-27 20:32:51 +00:00
florian
3eb9e80603 * optimized register usage for non-x86 e.g. 3 operand cpus 2005-01-20 21:28:52 +00:00
florian
91ef608143 * maybe_constant means also that a loc can be CREGISTER 2005-01-01 14:32:53 +00:00
florian
73c30d6579 * fixed arm compilation with cgutils
* ...
2004-11-01 17:41:28 +00:00
peter
c95a859f0a * generic tlocation
* move tlocation to cgutils
2004-10-31 21:45:02 +00:00
florian
15d3388449 * fixed more sparc overflow stuff
* fixed some op64 stuff for sparc
2004-09-29 18:55:40 +00:00
florian
62f93d3473 + partial overflow checking on sparc; multiplication still missing 2004-09-26 21:04:35 +00:00
peter
65c3ba277c * ungetregister is now only used for cpuregisters, renamed to
ungetcpuregister
  * renamed (get|unget)explicitregister(s) to ..cpuregister
  * removed location-release/reference_release
2004-09-25 14:23:54 +00:00
florian
8a9758c5e2 * logs truncated 2004-06-20 08:55:28 +00:00
florian
588e2c38bf * dwarf branch merged 2004-06-16 20:07:06 +00:00
peter
c9ae483263 * use op_ordinal for dynarr compares 2004-02-26 16:11:29 +00:00
peter
8012731ede *** empty log message *** 2004-02-04 19:22:27 +00:00
peter
1422985ca0 * Change several $ifdef i386 to x86
* Change several OS_32 to OS_INT/OS_ADDR
2004-01-31 17:45:16 +00:00
peter
42c6e9323b * sparc updates, mostly float related 2004-01-12 16:39:40 +00:00
Jonas Maebe
7de6463c43 * hopefully fixed bug tb0454 (merged from nppcadd) 2003-12-29 11:37:52 +00:00
florian
d1116fb7f1 + second_floataddsse implemented 2003-12-23 14:38:07 +00:00
daniel
448e336682 * Some work to allow mmx instructions to be used for 32 byte sets 2003-12-21 11:28:41 +00:00
florian
6a01a7b4a6 * compilation of the powerpc compiler fixed 2003-10-17 01:22:08 +00:00
peter
fb81b7ebbb * old trgobj moved to x86/rgcpu and renamed to trgx86fpu
* tregisteralloctor renamed to trgobj
  * removed rgobj from a lot of units
  * moved location_* and reference_* to cgobj
  * first things for mmx register allocation
2003-10-10 17:48:13 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
Jonas Maebe
5677b3c274 * fixed release_reg_left_right for fpu registers 2003-09-14 21:57:08 +00:00
peter
3ccd30efde * fix setelementn support
* fix loading of flags
2003-09-14 21:34:16 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
1b633246b9 * sparc fixes 2003-07-08 21:23:24 +00:00