florian
|
80f8f66c6e
* set file positions correctly in PeepHoleOptPass1
|
vor 12 Jahren |
florian
|
4148637c8c
* fold mov/lea/mov as well if possible
|
vor 12 Jahren |
florian
|
524cde8140
+ MatchReference
|
vor 12 Jahren |
florian
|
440cb33e80
* continue to use lea to adjust the stack pointer, it is the recommended way
|
vor 12 Jahren |
florian
|
5eb578a44c
* generate sub instead of add from lea if appropriate
|
vor 12 Jahren |
florian
|
f56d2d4b09
* be able to replace lea by add when spilling
|
vor 12 Jahren |
florian
|
d575a435c3
* some debugging infrastructure
|
vor 12 Jahren |
florian
|
bfbb0c5b9d
* optimize mov/lea
|
vor 12 Jahren |
florian
|
3c58cad96b
* make use of lea if possible
|
vor 12 Jahren |
florian
|
945b318012
+ get rid of unnecessary 64 bit conversions too if one of the operands is 8 or 16 bit
|
vor 12 Jahren |
florian
|
d201bcb1cd
* get rid of 64 bit operations on 64 bit targets as well if possible
|
vor 12 Jahren |
florian
|
c8743c4826
* support 32 bit operations on x86-64 in the code generator
|
vor 12 Jahren |
Jonas Maebe
|
dad15f2843
* fixed test for double precision platforms after r25888
|
vor 12 Jahren |
Jonas Maebe
|
96ac477b96
* part of r25888, forgot to commit
|
vor 12 Jahren |
Jonas Maebe
|
85059f79fe
* readded halt(1) temporarily removed for testing and accidentally committed
|
vor 12 Jahren |
Jonas Maebe
|
4becf1f3c1
+ tests for mantis #23196 and #25122, already fixed by r25888
|
vor 12 Jahren |
Jonas Maebe
|
21eeec9981
+ re-implementation of real->string and string->real conversion routines
|
vor 12 Jahren |
Jonas Maebe
|
7b97752d0b
- removed commented out duplicate thlcg.getmmregister()
|
vor 12 Jahren |
nickysn
|
8bfe2a56dd
* optimized SAR by 31 to use only one SAR instruction in tcg8086.a_op_const_reg
|
vor 12 Jahren |
sergei
|
ca445577ff
- Linux RTL: MIPS no longer needs the softfloat code, don't compile it.
|
vor 12 Jahren |
nickysn
|
f288859fba
* i386 optimization - remove the test/or %y, %y instruction in the sequence:
|
vor 12 Jahren |
sergei
|
66e82f1655
+ i386: generate optimized code for 64-bit arithmetic shifts by constant amount. Shifts by 63 and by less than 32 take just two instructions, shifts by 32..62 bits are done with 3 instructions.
|
vor 12 Jahren |
Jonas Maebe
|
e219b8387e
* no longer support building with 2.6.0 (mainly because 2.6.0 doesn't generate
|
vor 12 Jahren |
sergei
|
486a7ef81e
* tx86inlinenode.second_popcnt: use emit_ref_reg instead of appending instruction directly, this provides proper PIC handling of the reference. emit_reg_reg part is not strictly necessary, but done for consistency.
|
vor 12 Jahren |
sergei
|
6a08ca3f0b
* tmoddivnode.firstoptimize improvements/fixes:
|
vor 12 Jahren |
sergei
|
9ad98a2c4d
* Handle "SarInt64" always as internal procedure, introduced virtual method tinlinenode.first_sar that by default converts it into call to "fpc_sarint64" unless target CPU is 64-bit. This provides a point to insert target-specific optimizations.
|
vor 12 Jahren |
nickysn
|
611358be7e
* fixed the stack traces (StackTop initialization) under go32v2 as well
|
vor 12 Jahren |
nickysn
|
12b1e0cbfd
+ tell wlink to add dwarf debug info to the executable when -gw2/3/4 is used
|
vor 12 Jahren |
nickysn
|
9f979eb5c6
* put the i8086-msdos dwarf debug sections in USE32 class=DWARF segments because
|
vor 12 Jahren |
nickysn
|
93a706f1a0
+ allow smartlinking and dwarf debug info at the same time for i8086-msdos
|
vor 12 Jahren |