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
paul
e7636cd6e6
compiler: fix a bug in .rsj output and enable it by default
...
git-svn-id: trunk@26478 -
2014-01-16 13:57:08 +00:00
paul
3aec5da7a7
compiler: use widestrings for json resource file generation
...
git-svn-id: trunk@26477 -
2014-01-16 12:07:26 +00:00
michael
d7fb3be2af
* Patch from reinier (bug id 25544)
...
git-svn-id: trunk@26476 -
2014-01-16 10:49:55 +00:00
paul
3bd53b9658
compiler: add a method for generating json files for resource strings (for experiments only now)
...
git-svn-id: trunk@26475 -
2014-01-16 09:26:53 +00:00
Jonas Maebe
8065fc24d9
* fixed indentation of stack slot allocation debug statements
...
git-svn-id: trunk@26474 -
2014-01-15 20:36:59 +00:00
Jonas Maebe
2518c526c7
* always use a new register for array indices modified by a constant,
...
improves register/stack allocation
git-svn-id: trunk@26473 -
2014-01-15 20:36:56 +00:00
Jonas Maebe
a5653916e0
* convert array indices always to s32int, because that is the index type used
...
by java arrays (otherwise we may get unwanted sign extensions after
performing e.g. an s16bit operation, see the test)
git-svn-id: trunk@26472 -
2014-01-15 20:36:52 +00:00
Jonas Maebe
67413a2823
* fixed skpara setter of tprocdef after r26332
...
git-svn-id: trunk@26471 -
2014-01-15 20:36:49 +00:00
marco
a16543e81f
* some delphi compatible overloads by Ocean, mantis #25519
...
git-svn-id: trunk@26469 -
2014-01-15 16:18:21 +00:00
sergei
c673c32ad9
+ SPARC: generate position-independent case jump tables, as specified by ABI.
...
Generate them also for non-PIC mode: absolute code is just 2 instructions shorter, trying to save them is probably not worth the effort.
git-svn-id: trunk@26468 -
2014-01-15 15:31:53 +00:00
sergei
dd78cd5811
+ SPARC: assembler implementation of SarInt64.
...
git-svn-id: trunk@26467 -
2014-01-15 15:11:40 +00:00
Károly Balogh
b398430b4c
* get_volatile_registers* now defines proper volatile register range for all cases using the pre-defined values
...
* removed the two huge and ugly case switches while parsing Amiga-specific paralocs, using a simple unified function now
git-svn-id: trunk@26466 -
2014-01-15 02:49:03 +00:00
Károly Balogh
587acf6452
fix infinite spilling on m68k, patch by Florian, additional IE workaround by me, based on a similar hack in the ARM cg...
...
git-svn-id: trunk@26465 -
2014-01-15 02:09:02 +00:00
Károly Balogh
70f9b098e0
no longer define a segment field for m68k
...
git-svn-id: trunk@26464 -
2014-01-15 02:06:10 +00:00
Károly Balogh
80b253c111
be consistent in naming. renamed VOLATILE_ADDRESSREGISTER to VOLATILE_ADDRESSREGISTERS
...
git-svn-id: trunk@26463 -
2014-01-15 01:31:41 +00:00
Károly Balogh
b37ebeaabd
disabled a_loadaddr_ref_cgpara() for m68k, this code was copy-pasted from x86 probably and could never work properly as it is
...
git-svn-id: trunk@26462 -
2014-01-15 01:27:02 +00:00
pierre
2a6e592fba
Handle link map for msdos wlink
...
git-svn-id: trunk@26461 -
2014-01-14 21:40:02 +00:00
Jonas Maebe
ca446b4b2a
- removed registration of x86_6432 target because it's not supported in any
...
way by the compiler (and furthermore it would have to be registerd in an
the x86_64 compiler binary, not an i386 one) (mantis #25525 )
git-svn-id: trunk@26460 -
2014-01-14 20:37:18 +00:00
Jonas Maebe
5fc4af09dd
* don't crash when searching for a type helper in an anonymous array (or
...
other non-record/objectdef-based) type (mantis #25504 )
git-svn-id: trunk@26459 -
2014-01-14 19:52:20 +00:00
Jeppe Johansen
123742647c
Fixed problem in estimation of stack size for thumb targets. Types passed by value were not handled properly.
...
git-svn-id: trunk@26458 -
2014-01-14 19:27:15 +00:00
svenbarth
6273192ce1
+ Add a new overload to DynLibs to allow loading by Ordinal only. This needs specific operating system support however and will return Nil (using a default implementation) if ordinals are not supported.
...
+ Implement overload for the three supported Windows targets.
git-svn-id: trunk@26457 -
2014-01-14 15:23:55 +00:00
marco
194abaddb4
* copy osdefs.inc from Linux. RTL included Linux dir, package does not.
...
git-svn-id: trunk@26456 -
2014-01-14 14:52:01 +00:00
pierre
baf79eb12b
Recompiled with pic option
...
git-svn-id: trunk@26455 -
2014-01-13 23:07:56 +00:00
pierre
d492b3d17d
crtbeginS.o seems to use _init, not __init
...
git-svn-id: trunk@26454 -
2014-01-13 23:04:54 +00:00
pierre
9833faeb0a
Fix loading of __progname_storage+255
...
git-svn-id: trunk@26453 -
2014-01-13 23:03:51 +00:00
pierre
fdb3525d9f
crtbeginS.o seems to use _init, not __init
...
git-svn-id: trunk@26452 -
2014-01-13 23:02:06 +00:00