J. Gareth "Curious Kit" Moreton
|
6f24c8b4ef
* x86: Code generation fixes where FLAGS
|
преди 3 години |
florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
преди 4 години |
florian
|
8c5606b41d
+ support mmx shifting
|
преди 7 години |
florian
|
c1de51454c
ti386shlshrnode.second_64bit:
|
преди 7 години |
nickysn
|
af235cae86
* use TEST CL,32 instead of TEST ECX,32 in the beginning of a 64-bit shl/shr
|
преди 8 години |
nickysn
|
d7b8d8dd54
* don't emit the "SUB ECX,32" instruction on i386, when doing a 64-bit shift by
|
преди 8 години |
nickysn
|
7e8c89435f
* avoid the AND instruction in the i386 shr64/shl64 code, by using TEST+JZ,
|
преди 8 години |
nickysn
|
6580dfee39
* generate better i386 code for 64-bit shl/shr, by masking the shift count by
|
преди 8 години |
sergei
|
5356f17fa5
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
|
преди 11 години |
sergei
|
ed46a07f62
* Using x86-specific capability of shifting with carry flag helps to reduce amount of instructions.
|
преди 11 години |
sergei
|
92cf25b9a5
* Reworked i386 division by constant optimization to reuse code from powerpc64. The algorithm is slightly different, signed version is one instruction shorter, unsigned one is one instruction longer (typically). The new algorithm is easily scalable for x86_64 target, unlike the old one.
|
преди 11 години |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
преди 13 години |
Jonas Maebe
|
9ec3cc2022
* fixed sign of location.size for divmodn, 64 shlshrn and for muln
|
преди 17 години |
daniel
|
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
|
преди 18 години |
peter
|
658c46b903
* remove tdictionary and tindexarray
|
преди 19 години |
florian
|
85d63d9fa9
* settings refactored
|
преди 19 години |
peter
|
3078a1927f
* remove ttype
|
преди 19 години |
peter
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
преди 19 години |
peter
|
588cccb3ca
* remove some obsolete i386 specific code
|
преди 19 години |
peter
|
d8dc5679e3
* aktcputype and aktoptimizecputype was missing in the previous optimization commits
|
преди 19 години |
peter
|
b6e35a200e
* rewrite of optimizer options
|
преди 19 години |
peter
|
4bee83c736
* range check errors
|
преди 19 години |
florian
|
bec0daebfa
+ optimized <dword> div <const dword>
|
преди 19 години |
peter
|
5942d23b1b
* fix range error
|
преди 19 години |
florian
|
3582108be1
* signed divisions with constants are always done without idiv
|
преди 19 години |
peter
|
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
|
преди 20 години |
fpc
|
790a4fe2d3
* log and id tags removed
|
преди 20 години |
fpc
|
50778076c3
initial import
|
преди 20 години |
peter
|
e417e34496
* truncate log
|
преди 20 години |
peter
|
c95a859f0a
* generic tlocation
|
преди 21 години |