marco
|
185b9a216d
--- Merging r29639 into '.':
|
10 năm trước cách đây |
sergei
|
ae627a4ba8
* tcgx86.a_op_const_reg_reg: optimize trivial cases before considering more complex ones.
|
11 năm trước cách đây |
nickysn
|
daf71e6d88
* fixed multiplication by 64-bit constants on x86_64, mantis #26230
|
11 năm trước cách đây |
nickysn
|
6e7dd647fd
* Tcgx86.g_concatcopy: optimization for the case where source.segment is
|
11 năm trước cách đây |
nickysn
|
1eb24f9d98
+ remove the segment prefix in make_simple_ref on i8086, in case it is the same
|
11 năm trước cách đây |
sergei
|
07e90aaa24
+ Implemented IEEE 754-compliant checking for unordered results of floating-point compares on x86 targets. Mantis #9362.
|
11 năm trước cách đây |
florian
|
18233f2c0c
* fix compilation of i8086 compiler
|
11 năm trước cách đây |
florian
|
d88d644925
+ support for FMA intrinsic: if there is no hardware support, the compiler throws an error.
|
11 năm trước cách đây |
nickysn
|
afcb8c3f10
* initialize DS from CS in the interrupt procedure entry code in tiny model,
|
11 năm trước cách đây |
nickysn
|
7a873f495d
* use the stack segment for SP-relative addresses in Tcgx86.g_concatcopy in
|
11 năm trước cách đây |
nickysn
|
ee20ecfcf2
* tcgx86.make_simple_ref: in i8086 memory models with DS<>SS, add an SS: segment
|
11 năm trước cách đây |
nickysn
|
b36a98ce51
+ Tcgx86.g_concatcopy: added support for memory models with DS<>SS
|
11 năm trước cách đây |
nickysn
|
e9e4cc8bcb
* Tcgx86.g_concatcopy: use boolean variables saved_ds and saved_es to keep track
|
11 năm trước cách đây |
nickysn
|
096bba90da
* fixed Tcgx86.g_concatcopy not using the correct push instruction size when
|
11 năm trước cách đây |
pierre
|
044891fd94
Avoid range check error in a_op_const_reg_reg
|
11 năm trước cách đây |
nickysn
|
229ebf33a8
+ support getting the address of far references on i8086 in
|
11 năm trước cách đây |
florian
|
37b34edbc6
* do not reuse registers when calculating addresses in pic mode
|
11 năm trước cách đây |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
11 năm trước cách đây |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 năm trước cách đây |
florian
|
28a8dc42c6
* fix tcgx86.a_op_reg_reg on x86-64 and make use of it
|
11 năm trước cách đây |
florian
|
7d7bf1d877
+ make use of SHLX/SHRX on CPUs supporting BMI2
|
11 năm trước cách đây |
florian
|
48ae2d215a
+ concatcopy variants using sse and avx, only activated if optimization for size is done because at least on an i7-4770 it has shown no benefit
|
11 năm trước cách đây |
nickysn
|
85dd9e5789
+ added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
|
11 năm trước cách đây |
sergei
|
6b1f021fcf
- Removed remaining optimizations that duplicate functionality of tcg.optimize_op_const.
|
11 năm trước cách đây |
nickysn
|
1f7b14f38e
* fixed the conversion of powerof2 mul/imuls to lea in tcgx86.a_op_const_reg_reg
|
11 năm trước cách đây |
nickysn
|
cc1faad3d2
+ make use of the 3-operand form of IMUL on i386 and x86_64
|
11 năm trước cách đây |
nickysn
|
5d75bf4f92
* always use IMUL instead of MUL on i386, when doing a 32->32 multiplication
|
11 năm trước cách đây |
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.
|
11 năm trước cách đây |
florian
|
e210d5f30e
+ cpu_capabilites for x86_64 and i386
|
11 năm trước cách đây |
sergei
|
f2096de53a
* tcg386.g_proc_exit: instead of recalculating stack size, use current_procinfo.final_localsize which was calculated in g_proc_entry.
|
11 năm trước cách đây |