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