Commit Graph

34596 Commits

Author SHA1 Message Date
florian
46cc0209de * make use of mulps/mulpd and haddps/haddpd/hsubpd/hsubps to optimze x*x+y*y and x*x-y*y where x and y might be single or double
git-svn-id: trunk@18790 -
2011-08-20 12:34:37 +00:00
florian
13ac5d185f * fix add_move_instruction for sse moves
git-svn-id: trunk@18789 -
2011-08-20 12:30:47 +00:00
florian
ca1f33aae1 * extended do_spill_replace with some sse instructions
git-svn-id: trunk@18788 -
2011-08-20 12:29:41 +00:00
florian
e8dafe4dde * fixed change information for a lot of sse instructions
git-svn-id: trunk@18787 -
2011-08-20 12:28:49 +00:00
florian
2f4fcf7dee * avoid range check error
git-svn-id: trunk@18786 -
2011-08-20 12:25:58 +00:00
florian
88c2c77319 + is_sse3_cpu, put into cpu unit, so x86-64 and i386 can share source code
git-svn-id: trunk@18785 -
2011-08-20 12:01:48 +00:00
joost
c08f9e9657 * Set the state of externally compiled but not installed packages to tsNoCompile, to avoid triggering a recompile of packages that depend on it
git-svn-id: trunk@18784 -
2011-08-20 09:09:44 +00:00
florian
da9d0d24e8 * update of german error message files by Karl-Michael Schindler, resolves #20021
git-svn-id: trunk@18457 -
2011-08-20 08:01:26 +00:00
florian
68dd23b5a2 * write proper register locations when doing ssa, resolves #7552
git-svn-id: trunk@18278 -
2011-08-19 22:06:52 +00:00
joost
66bab5467b * Improved console-output: show the message that a package is compiled when it is actually compiled.
git-svn-id: trunk@18277 -
2011-08-19 21:37:58 +00:00
florian
c855c7a0aa * unified handling of comparison of constant and expression with disjunct ranges of values
* warn if such an expression is encountered
* don't optimize the expression if it has side effects, resolves #17838

git-svn-id: trunk@18275 -
2011-08-19 18:47:37 +00:00
florian
5419011856 * fix test
git-svn-id: trunk@18274 -
2011-08-19 13:20:05 +00:00
florian
c011949765 + iretq for x86_64
git-svn-id: trunk@18273 -
2011-08-19 12:56:26 +00:00
Jonas Maebe
008e0a1317 * reverted r18262 and fixed tcgint-related range check errors correctly at
the caller sides of that routine

git-svn-id: trunk@18272 -
2011-08-19 09:45:02 +00:00
florian
4f6a803c29 + might_have_sideeffects, make use of it when optimizing x*x into sqr(x)
git-svn-id: trunk@18271 -
2011-08-19 09:26:40 +00:00
florian
386585ab66 * call UniqueString for Result in fpkmkunit.fixpath as suggest by Henry Vermaak, resolves #20015
git-svn-id: trunk@18269 -
2011-08-18 22:03:29 +00:00
florian
860d753055 * treat registers (and identifiers of register parameter) as normal identifiers when parsing record fields in intel assembler, resolves #19555
git-svn-id: trunk@18268 -
2011-08-18 21:58:30 +00:00
florian
cf874a3465 * give a more understandable error message if a procedure "result" is tried to be a
ssigned, resolves #19122 (and breaks hopefully nothing procvar related)

git-svn-id: trunk@18267 -
2011-08-18 21:10:05 +00:00
joost
31d11c0321 * Added -bu option, to generate and use a build-unit to compile packages
git-svn-id: trunk@18266 -
2011-08-18 18:26:46 +00:00
Jonas Maebe
baf2a3f1fb * fixed copy/paste error that didn't disable default inline support when
switching from a mode that has it to a mode that doesn't have it (which
    meant that all modes had it, since the default FPC mode has it)
  * added default inline support to mode macpas to minimize breaking existing
    code due to this switch (only TP and ISO modes now don't have it by
    default)

git-svn-id: trunk@18265 -
2011-08-18 18:12:09 +00:00
Jonas Maebe
cbb3e5700d * now also includes univint directory for Darwin if necessary, not sure
why it wasn't in the version committed int r18251

git-svn-id: trunk@18264 -
2011-08-18 18:09:33 +00:00
Jonas Maebe
8c7f1e1013 * only transform multiplication nodes to sqr, not any kind of addnode
(fix for 18252)

git-svn-id: trunk@18263 -
2011-08-18 12:47:41 +00:00
Jonas Maebe
3abfec476a * fixed range checke errors after aint->tcgint change
git-svn-id: trunk@18262 -
2011-08-18 11:53:34 +00:00
Jonas Maebe
3b9e1a4398 * fixed wrong class cast in r18226
git-svn-id: trunk@18261 -
2011-08-18 11:53:02 +00:00
sekelsenmat
658be2b0b7 fpvectorial: Adds multiline support for text, adds a new translate function to entities
git-svn-id: trunk@18260 -
2011-08-18 11:41:22 +00:00
marco
4c64519f31 * fix for yet another -j 2 issue. This time fcl-passrc dependency on fcl-base
git-svn-id: trunk@18259 -
2011-08-18 10:18:29 +00:00
sekelsenmat
cc8854b0bc fpvectorial: Removes unused Z coordinates and makes the entity classes smarter, adds support for searching for elements
git-svn-id: trunk@18258 -
2011-08-18 09:13:47 +00:00
Jonas Maebe
b5fc32750b * check whether both left and right are reals rather than twice whether left
is real before transforming a multiply into an sqr operation (fixes make
    cycle after r18252, don't know where or even how it caused a wrong
    optimization)

git-svn-id: trunk@18257 -
2011-08-18 09:12:13 +00:00
florian
41f25c2b21 * fixes cmem.malloc et al. for windows as proposed by Ludo Brands, resolves #15571
git-svn-id: trunk@18256 -
2011-08-18 08:47:44 +00:00
florian
859757003f * fix SafeLoadLibrary: fixed defines, sse control word should be stored as well
git-svn-id: trunk@18255 -
2011-08-18 08:37:15 +00:00
Jonas Maebe
6748a9a238 * fixed forcing setelementn on the correct side in add nodes
(pass_left_right() can switch the sides, so putting it in the
     correct location before calling that method is useless)

git-svn-id: trunk@18254 -
2011-08-17 20:12:47 +00:00
florian
275c6092e5 * avoid range check errors for empty ansistrings written/read from ppus
git-svn-id: trunk@18253 -
2011-08-17 19:01:03 +00:00
florian
e796a878ca * convert <real x>*<real x> into sqr(<real x>), it might reduces register
pressure and/or memory accesses without a drawback

git-svn-id: trunk@18252 -
2011-08-17 16:00:16 +00:00
Jonas Maebe
f6fbc17463 * fpdoc depends on fcl-base
* fcl-base depends on univint for Darwin

git-svn-id: trunk@18251 -
2011-08-17 15:31:28 +00:00
sekelsenmat
02d1a26d92 fpvectorial: Adds support for guessing the document size and zoom level
git-svn-id: trunk@18250 -
2011-08-17 14:59:08 +00:00
pierre
8673b93ed5 Add missing regenerated Makefile
git-svn-id: trunk@18249 -
2011-08-17 13:29:49 +00:00
florian
d7708a45f1 * so far windows only
git-svn-id: trunk@18248 -
2011-08-17 13:01:32 +00:00
florian
a9034af414 + added tests for recent stream modifications
git-svn-id: trunk@18247 -
2011-08-17 12:56:57 +00:00
florian
3e4469937c * fix Types.UnionRect as proposed by Piotr Karasinski, resolves #20006
git-svn-id: trunk@18246 -
2011-08-17 12:01:23 +00:00
pierre
09e7570e57 * Avoid warning about unset variable in TestParents
+ Add check after moving current directory to root drive
    for Dos style pathes.

git-svn-id: trunk@18245 -
2011-08-17 11:55:32 +00:00
florian
4c95e9fce5 * commented pdata type as proposed in #20004 by Michalis Kamburelis, resolves #20004
git-svn-id: trunk@18244 -
2011-08-17 11:47:41 +00:00
florian
87696a4b70 * cr*, dr*, tr* registers are 64 bit on x86-64
git-svn-id: trunk@18243 -
2011-08-17 11:42:11 +00:00
pierre
8dc1ce55c1 * Avoid infinite loop on Unix
git-svn-id: trunk@18242 -
2011-08-17 11:22:54 +00:00
florian
79a96ab287 + ttypesym.prettyname
* write names of specialization type syms more pretty

git-svn-id: trunk@18241 -
2011-08-17 11:10:00 +00:00
sekelsenmat
b71d8e6ed6 fpvectorial: Fixes example compilation
git-svn-id: trunk@18240 -
2011-08-17 11:03:06 +00:00
florian
e2f21c0a56 * version update
git-svn-id: trunk@18239 -
2011-08-17 10:57:32 +00:00
florian
ae8c250c3e * fix indention
git-svn-id: trunk@18238 -
2011-08-17 09:20:28 +00:00
florian
9b88297389 * patch by Michalis Kamburelis to keep the ending of TFPSList filled with zeros (space between count and capacity), resolves #20005
git-svn-id: trunk@18237 -
2011-08-17 09:05:58 +00:00
florian
ffde44ea6e * forgotten part of r18233
git-svn-id: trunk@18235 -
2011-08-16 22:44:50 +00:00
florian
d6ad7721e6 * patch by Jeppe Johansen to avoid corruption of frame/stack pointer by pre/post indexed operations, resolves #19679
git-svn-id: trunk@18234 -
2011-08-16 22:43:30 +00:00