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>
|
20 лет назад |
peter
|
5942d23b1b
* fix range error
|
20 лет назад |
florian
|
3582108be1
* signed divisions with constants are always done without idiv
|
20 лет назад |
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 лет назад |
peter
|
65c3ba277c
* ungetregister is now only used for cpuregisters, renamed to
|
21 лет назад |
florian
|
8a9758c5e2
* logs truncated
|
21 лет назад |