Commit Graph

42001 Commits

Author SHA1 Message Date
pierre
af83a74544 Add -h output for new assemblers
git-svn-id: trunk@26551 -
2014-01-21 09:00:53 +00:00
Tomas Hajny
daa8eadb14 * allow trailing backslash in SetCurrentDir and ChDir
git-svn-id: trunk@26550 -
2014-01-21 00:42:16 +00:00
pierre
9fc9f4bdba Use new as_i8086_nasmobj as external assembler for msdos target
git-svn-id: trunk@26549 -
2014-01-21 00:27:42 +00:00
pierre
3327d508ee Enable nasm assembler for x86_64 cpu
git-svn-id: trunk@26548 -
2014-01-21 00:26:49 +00:00
pierre
045f161012 Separate out nasm assembler for i8086, i386 and x86_64 cpus, also separte based on target object format
git-svn-id: trunk@26547 -
2014-01-21 00:26:08 +00:00
pierre
dfd37aae43 Add several x86 assemblers: yasm, and target specialized nasm, including for x86_64
git-svn-id: trunk@26546 -
2014-01-21 00:23:51 +00:00
pierre
b158ad6a9c Handle asmextraopt in arm assembler
git-svn-id: trunk@26545 -
2014-01-21 00:21:34 +00:00
pierre
12a1a680cc Regenerated after: Add help output for new -ao option to set asmextraopt
git-svn-id: trunk@26544 -
2014-01-21 00:20:51 +00:00
pierre
e44dc53083 Add help output for new -ao option to set asmextraopt
git-svn-id: trunk@26543 -
2014-01-21 00:20:23 +00:00
pierre
5e6669890a Handle asmextraopt in powerpc, mips and sparc assemblers
git-svn-id: trunk@26542 -
2014-01-21 00:19:17 +00:00
pierre
3f33fdd445 Handle asmextraopt in powerpc assmeblers
git-svn-id: trunk@26541 -
2014-01-21 00:17:56 +00:00
pierre
441b9feffc pass new asm extra opt using -ao option
git-svn-id: trunk@26540 -
2014-01-21 00:16:53 +00:00
pierre
6d4a9aad66 pass new asm extra opt using -ao option
git-svn-id: trunk@26539 -
2014-01-21 00:16:26 +00:00
pierre
e9c0484b3c pass new asm extra opt using -ao option
git-svn-id: trunk@26538 -
2014-01-21 00:15:43 +00:00
pierre
4441bbb9dc Add new global asmextraopt variable
git-svn-id: trunk@26537 -
2014-01-21 00:14:49 +00:00
pierre
1cec09f979 Add -Caoldwin32gnu ABI option to cope with 'ret $4' issues in old GNU mingw32 C compiler (version below 4.7)
git-svn-id: trunk@26536 -
2014-01-20 22:47:46 +00:00
nickysn
a85bb98aa6 * patch from Max Nazhalov with improvements to the i8086 64-bit division:
since [unnormalized] n >= 0x10000 now, we have
   1. lzv<=47, so all code that makes shifts by >= 48 is dead;
   2. q3=0, so main loop can be executed just 3 times instead of 4.

git-svn-id: trunk@26535 -
2014-01-20 21:39:05 +00:00
sergei
8b3217815b * When inlining currency (ordinal) multiplication, change resultdef to int64, in order to be consistent with behavior of generic handling. Fixes compilation faliure after r26500, Mantis #25565.
git-svn-id: trunk@26534 -
2014-01-20 17:16:11 +00:00
michael
24e9e8a68c * Reverted revision 26000, which is totally wrong
git-svn-id: trunk@26533 -
2014-01-20 17:02:14 +00:00
Károly Balogh
5e15e4b07d add basic constant handling to subscript nodes, avoid ie20060521 when building rgobj.pas with -O3/-O4
git-svn-id: trunk@26532 -
2014-01-20 12:00:48 +00:00
marco
a57df5f0dd * commited correction for Mantis #25560, misspelled constructor keyword
git-svn-id: trunk@26531 -
2014-01-20 10:39:39 +00:00
svenbarth
f64ba97285 Fix compilation of WinCE (for both ARM and i386!) after RTL changes
* rtl/wince/Makefile.fpc: comment socket related units (which were moved)
* rtl/wince/Makefile: regenerate
* packages/rtl-extra/fpmake.pp:
    We need the sockets unit inside the win directory for WinCE as well. Best solution might be to merge the WinSock and WinSock2 units of Win32/64 and WinCE to get rid of the wince directory of rtl-extra
* packages/winceunits/fpmake.pp:
    Add rtl-extra as dependency as we need the socket related units for Bluetooth

git-svn-id: trunk@26530 -
2014-01-20 09:31:17 +00:00
Tomas Hajny
729730454b + source file for cp852 (IBM Latin-2 / central Europe) added
git-svn-id: trunk@26529 -
2014-01-20 01:24:04 +00:00
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