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