sergei
|
6b1f021fcf
- Removed remaining optimizations that duplicate functionality of tcg.optimize_op_const.
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
c83032992d
* more fixes to the 3-op IMUL spilling:
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
a752e3542d
+ more x86 cpu flags
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
4a107dcfa6
+ added 32-bit asm optimized division helpers for i8086 by Max Nazhalov
|
%!s(int64=11) %!d(string=hai) anos |
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.
|
%!s(int64=11) %!d(string=hai) anos |
sergei
|
e6a9f3b15b
* Fixed spilling of 3-operand IMUL instruction (went unnoticed this far because such instructions were not emitted by compiler).
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
1f7b14f38e
* fixed the conversion of powerof2 mul/imuls to lea in tcgx86.a_op_const_reg_reg
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
cc1faad3d2
+ make use of the 3-operand form of IMUL on i386 and x86_64
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
1de847c754
* fixed error in comment
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
7028210817
+ tzcnt assembler instruction
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
0e67ca6419
* fixed output of test if a failure happens
|
%!s(int64=11) %!d(string=hai) anos |
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.
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
2a2184bc40
* regenerated makefiles affected by the last change
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
694ba6a702
* call strip on the COMPILER macro to make the output look more nicely
|
%!s(int64=11) %!d(string=hai) anos |
florian
|
fd5fa95416
+ OPTNEW Makefile parameter: when running a native cycle, this allows to pass a parameter only to the new generated compiler
|
%!s(int64=11) %!d(string=hai) anos |
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).
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
2459518bdd
* use IMUL even for unsigned multiplication on x86_64, when overflow checking is
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
5d75bf4f92
* always use IMUL instead of MUL on i386, when doing a 32->32 multiplication
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
2602f379d7
* fixes in the 16 to 32-bit multiplication in ti8086addnode.second_mul
|
%!s(int64=11) %!d(string=hai) anos |
pierre
|
f4726e068b
Avoid assmebler size mismatch warning in Keep procedure
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
3f4111ac37
* emit MUL instead of IMUL in ti8086addnode.second_mul when overflow checking is
|
%!s(int64=11) %!d(string=hai) anos |
pierre
|
76c40a49db
Add missing field enable_count in breakpoint record (added in 7.5 release)
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
529008e031
* emit MUL (when overflow checking is off), instead of IMUL for OP_IMUL in
|
%!s(int64=11) %!d(string=hai) anos |
sergei
|
6168f563c2
* x86 compares: compare references with constants directly (without loading to register) if possible, this helps to reduce register pressure.
|
%!s(int64=11) %!d(string=hai) anos |
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.
|
%!s(int64=11) %!d(string=hai) anos |
michael
|
9535837039
* Fix recuperation of first transaction created in InternalDoConnect
|
%!s(int64=11) %!d(string=hai) anos |
paul
|
1f83117f16
utils: use fpc 2.6.2 compatible code
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
767a0f1187
- rm TODO comment about the IMUL optimization with SHL from
|
%!s(int64=11) %!d(string=hai) anos |
nickysn
|
1a846e7c71
- rm TODO comment for overflow checking from tcg8086.a_op_const_reg, since
|
%!s(int64=11) %!d(string=hai) anos |
paul
|
ba00250fb4
fpmkunit: choose between .rst and .rsj
|
%!s(int64=11) %!d(string=hai) anos |