florian
|
8c5606b41d
+ support mmx shifting
|
hace 7 años |
florian
|
c1de51454c
ti386shlshrnode.second_64bit:
|
hace 7 años |
nickysn
|
af235cae86
* use TEST CL,32 instead of TEST ECX,32 in the beginning of a 64-bit shl/shr
|
hace 8 años |
nickysn
|
d7b8d8dd54
* don't emit the "SUB ECX,32" instruction on i386, when doing a 64-bit shift by
|
hace 8 años |
nickysn
|
7e8c89435f
* avoid the AND instruction in the i386 shr64/shl64 code, by using TEST+JZ,
|
hace 8 años |
nickysn
|
6580dfee39
* generate better i386 code for 64-bit shl/shr, by masking the shift count by
|
hace 8 años |
sergei
|
5356f17fa5
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
|
hace 11 años |
sergei
|
ed46a07f62
* Using x86-specific capability of shifting with carry flag helps to reduce amount of instructions.
|
hace 11 años |
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.
|
hace 11 años |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
hace 13 años |
Jonas Maebe
|
9ec3cc2022
* fixed sign of location.size for divmodn, 64 shlshrn and for muln
|
hace 17 años |
daniel
|
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
|
hace 18 años |
peter
|
658c46b903
* remove tdictionary and tindexarray
|
hace 19 años |
florian
|
85d63d9fa9
* settings refactored
|
hace 19 años |
peter
|
3078a1927f
* remove ttype
|
hace 19 años |
peter
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
hace 19 años |
peter
|
588cccb3ca
* remove some obsolete i386 specific code
|
hace 19 años |
peter
|
d8dc5679e3
* aktcputype and aktoptimizecputype was missing in the previous optimization commits
|
hace 19 años |
peter
|
b6e35a200e
* rewrite of optimizer options
|
hace 19 años |
peter
|
4bee83c736
* range check errors
|
hace 19 años |
florian
|
bec0daebfa
+ optimized <dword> div <const dword>
|
hace 19 años |
peter
|
5942d23b1b
* fix range error
|
hace 19 años |
florian
|
3582108be1
* signed divisions with constants are always done without idiv
|
hace 19 años |
peter
|
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
|
hace 20 años |
fpc
|
790a4fe2d3
* log and id tags removed
|
hace 20 años |
fpc
|
50778076c3
initial import
|
hace 20 años |
peter
|
e417e34496
* truncate log
|
hace 20 años |
peter
|
c95a859f0a
* generic tlocation
|
hace 21 años |
peter
|
65c3ba277c
* ungetregister is now only used for cpuregisters, renamed to
|
hace 21 años |
florian
|
8a9758c5e2
* logs truncated
|
hace 21 años |