Commit Graph

42278 Commits

Author SHA1 Message Date
Tomas Hajny
2e004af6e7 + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26528 -
2014-01-20 00:26:15 +00:00
Tomas Hajny
be6fdf21ce + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26527 -
2014-01-20 00:23:36 +00:00
Tomas Hajny
ce4cb437e2 + character sets for central Europe added also to Makefiles as implicit units
git-svn-id: trunk@26526 -
2014-01-20 00:20:11 +00:00
paul
a1b5392e6c add missing charset source files
git-svn-id: trunk@26525 -
2014-01-19 23:45:41 +00:00
nickysn
5c8aa6e5b0 * fpc_mul_integer and fpc_mul_longint: fallback directly to the unsigned
multiplication routine in case overflow checking is not used

git-svn-id: trunk@26524 -
2014-01-19 23:06:34 +00:00
Tomas Hajny
5372bdbb43 * removed gdbint dependency if compiled with NOGDB=1
git-svn-id: trunk@26523 -
2014-01-19 22:57:45 +00:00
Tomas Hajny
2c60f456f1 * fixed WinCE breakage caused when moving to target dependent type for ordinal argument in GetProcAddress
git-svn-id: trunk@26522 -
2014-01-19 22:42:52 +00:00
Tomas Hajny
1a430d8110 * GetProcAddr added for OS/2, type of argument for ordinal target specific now
git-svn-id: trunk@26521 -
2014-01-19 21:15:26 +00:00
nickysn
b91509159a + added asm optimized 64-bit division helpers for i8086 by Max Nazhalov
git-svn-id: trunk@26520 -
2014-01-19 20:26:24 +00:00
sergei
ca58cc1d64 + x86_64: generate position-independent case jump tables (twice smaller than absolute ones and do not require dynamic relocations in .dll/.so).
git-svn-id: trunk@26519 -
2014-01-19 15:41:05 +00:00
paul
eb508a18e9 compiler: remove RST writer
git-svn-id: trunk@26518 -
2014-01-19 04:40:41 +00:00
Tomas Hajny
cce9498b7c * fix building for OS/2 and EMX (additional include path necessary)
git-svn-id: trunk@26517 -
2014-01-19 01:25:55 +00:00
Tomas Hajny
5f6aefa4c0 + character sets for central Europe added
git-svn-id: trunk@26516 -
2014-01-19 01:24:16 +00:00
sergei
6b1f021fcf - Removed remaining optimizations that duplicate functionality of tcg.optimize_op_const.
- Don't call make_simple_ref if operation will be optimized away or replaced with another one, which calls make_simple_ref itself.

git-svn-id: trunk@26515 -
2014-01-19 01:19:01 +00:00
nickysn
c83032992d * more fixes to the 3-op IMUL spilling:
o Return the correct operation type for all forms of IMUL in
    taicpu.spilling_get_operation_type
  o Properly support 3-op IMUL in trgx86.do_spill_replace

git-svn-id: trunk@26514 -
2014-01-18 21:46:13 +00:00
florian
a752e3542d + more x86 cpu flags
git-svn-id: trunk@26513 -
2014-01-18 21:03:09 +00:00
nickysn
4a107dcfa6 + added 32-bit asm optimized division helpers for i8086 by Max Nazhalov
git-svn-id: trunk@26512 -
2014-01-18 20:33:30 +00:00
sergei
78e726b34f * i386: Somewhat optimized fpc_mul_qword routine, got rid from variable 'r', registers esi and edi. Also ignore overflow checking when both operands have their high dwords equal to zero, because in such case multiplication cannot overflow.
git-svn-id: trunk@26511 -
2014-01-18 19:28:00 +00:00
sergei
e6a9f3b15b * Fixed spilling of 3-operand IMUL instruction (went unnoticed this far because such instructions were not emitted by compiler).
git-svn-id: trunk@26510 -
2014-01-18 19:21:48 +00:00
nickysn
1f7b14f38e * fixed the conversion of powerof2 mul/imuls to lea in tcgx86.a_op_const_reg_reg
git-svn-id: trunk@26509 -
2014-01-18 17:58:31 +00:00
nickysn
cc1faad3d2 + make use of the 3-operand form of IMUL on i386 and x86_64
git-svn-id: trunk@26508 -
2014-01-18 17:04:57 +00:00
nickysn
1de847c754 * fixed error in comment
git-svn-id: trunk@26507 -
2014-01-18 17:00:10 +00:00
florian
7028210817 + tzcnt assembler instruction
git-svn-id: trunk@26506 -
2014-01-18 12:11:50 +00:00
florian
0e67ca6419 * fixed output of test if a failure happens
git-svn-id: trunk@26505 -
2014-01-18 12:08:02 +00:00
sergei
3a3197ae9c + i386: inline 64-bit multiplications if overflow checking is disabled and not optimizing for size. Rough testing on Core 2 Duo shows speed improvement by factor of 5, even despite inlined code does not check for zero upper dwords.
git-svn-id: trunk@26504 -
2014-01-18 11:41:55 +00:00
florian
2a2184bc40 * regenerated makefiles affected by the last change
git-svn-id: trunk@26503 -
2014-01-18 10:21:41 +00:00
florian
694ba6a702 * call strip on the COMPILER macro to make the output look more nicely
git-svn-id: trunk@26502 -
2014-01-18 10:19:54 +00:00
florian
fd5fa95416 + OPTNEW Makefile parameter: when running a native cycle, this allows to pass a parameter only to the new generated compiler
git-svn-id: trunk@26501 -
2014-01-18 10:19:16 +00:00
sergei
a3efd9e1df + Added method taddnode.use_generic_mul64bit, allowing it to inline full 64-bit multiplications, and fixed ARM to comply (it was not checking for possible 32x32 to 64 optimization after detecting a 64-bit operand, so recently added code for 32x32 to 64 bit optimization was inactive).
git-svn-id: trunk@26500 -
2014-01-18 09:59:59 +00:00
nickysn
2459518bdd * use IMUL even for unsigned multiplication on x86_64, when overflow checking is
off

git-svn-id: trunk@26499 -
2014-01-18 03:36:15 +00:00
nickysn
5d75bf4f92 * always use IMUL instead of MUL on i386, when doing a 32->32 multiplication
without overflow checking

git-svn-id: trunk@26498 -
2014-01-18 02:56:51 +00:00
nickysn
2602f379d7 * fixes in the 16 to 32-bit multiplication in ti8086addnode.second_mul
git-svn-id: trunk@26497 -
2014-01-18 00:38:46 +00:00
pierre
f4726e068b Avoid assmebler size mismatch warning in Keep procedure
git-svn-id: trunk@26496 -
2014-01-17 23:33:24 +00:00
nickysn
3f4111ac37 * emit MUL instead of IMUL in ti8086addnode.second_mul when overflow checking is
off and the multiplication is 16->16

git-svn-id: trunk@26495 -
2014-01-17 23:04:46 +00:00
pierre
76c40a49db Add missing field enable_count in breakpoint record (added in 7.5 release)
git-svn-id: trunk@26494 -
2014-01-17 22:52:31 +00:00
nickysn
529008e031 * emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL in
tcg8086.a_op_const_reg, when the target CPU is 8086/8088, because it's
  supposed to be faster on these processors, according to Intel's instruction
  timings.

git-svn-id: trunk@26493 -
2014-01-17 21:23:42 +00:00
sergei
6168f563c2 * x86 compares: compare references with constants directly (without loading to register) if possible, this helps to reduce register pressure.
git-svn-id: trunk@26492 -
2014-01-17 19:42:09 +00:00
nickysn
820b667e1b - rm the OP_IMUL to SHL optimization from tcgx86.a_op_const_reg and tcgx86.a_op_const_ref, because it's already done in optimize_op_const, which is called in the beginning of both methods.
git-svn-id: trunk@26491 -
2014-01-17 18:34:13 +00:00
michael
9535837039 * Fix recuperation of first transaction created in InternalDoConnect
git-svn-id: trunk@26490 -
2014-01-17 17:21:35 +00:00
paul
1f83117f16 utils: use fpc 2.6.2 compatible code
git-svn-id: trunk@26489 -
2014-01-17 10:44:24 +00:00
nickysn
767a0f1187 - rm TODO comment about the IMUL optimization with SHL from
tcg8086.a_op_const_reg, since that optimization is already done in
  optimize_op_const, which is called earlier in the same method.

git-svn-id: trunk@26488 -
2014-01-17 10:28:30 +00:00
nickysn
1a846e7c71 - rm TODO comment for overflow checking from tcg8086.a_op_const_reg, since
overflow checking should not be implemented there. It should only leave the
  flags in place for the jo instruction, which the IMUL instruction already
  does.

git-svn-id: trunk@26487 -
2014-01-17 10:26:20 +00:00
paul
ba00250fb4 fpmkunit: choose between .rst and .rsj
git-svn-id: trunk@26486 -
2014-01-17 09:06:20 +00:00
paul
e181fbc327 utils: clean rsj files by delp
git-svn-id: trunk@26485 -
2014-01-17 02:24:37 +00:00
paul
13a0b21031 rstconv: fixed memory leak
git-svn-id: trunk@26484 -
2014-01-17 02:15:35 +00:00
nickysn
34cf432600 * in the generic implementation of fpc_mul_int64, fallback directly to
fpc_mul_qword directly in case overflow checking is not used

git-svn-id: trunk@26483 -
2014-01-17 01:25:41 +00:00
florian
e210d5f30e + cpu_capabilites for x86_64 and i386
* take advantage of bmi2 instruction rorx

git-svn-id: trunk@26482 -
2014-01-16 21:47:28 +00:00
sergei
75894722d4 * Factored a reusable piece of code into separate method.
git-svn-id: trunk@26481 -
2014-01-16 16:43:06 +00:00
marco
373e450dbc * more android fixes for sockets unit, mantis #25528
git-svn-id: trunk@26480 -
2014-01-16 14:24:42 +00:00
paul
71fbba2b1e utils: parse .rsj file by rstconv tool
git-svn-id: trunk@26479 -
2014-01-16 13:57:33 +00:00