sergei
|
5356f17fa5
* i386: switch the div/mod node to shared code, leaving in place the specific optimization for division by power of 2.
|
11 ani în urmă |
sergei
|
ed46a07f62
* Using x86-specific capability of shifting with carry flag helps to reduce amount of instructions.
|
11 ani în urmă |
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 ani în urmă |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 ani în urmă |
Jonas Maebe
|
9ec3cc2022
* fixed sign of location.size for divmodn, 64 shlshrn and for muln
|
18 ani în urmă |
daniel
|
9adb202a92
* Rework the constexprint to allow operations from low(int64) to high(qword).
|
18 ani în urmă |
peter
|
658c46b903
* remove tdictionary and tindexarray
|
19 ani în urmă |
florian
|
85d63d9fa9
* settings refactored
|
19 ani în urmă |
peter
|
3078a1927f
* remove ttype
|
19 ani în urmă |
peter
|
b7fe6797bf
Merged revisions 2921-2922,2925 via svnmerge from
|
19 ani în urmă |
peter
|
588cccb3ca
* remove some obsolete i386 specific code
|
19 ani în urmă |
peter
|
d8dc5679e3
* aktcputype and aktoptimizecputype was missing in the previous optimization commits
|
19 ani în urmă |
peter
|
b6e35a200e
* rewrite of optimizer options
|
19 ani în urmă |
peter
|
4bee83c736
* range check errors
|
19 ani în urmă |
florian
|
bec0daebfa
+ optimized <dword> div <const dword>
|
20 ani în urmă |
peter
|
5942d23b1b
* fix range error
|
20 ani în urmă |
florian
|
3582108be1
* signed divisions with constants are always done without idiv
|
20 ani în urmă |
peter
|
a3ab2053c9
* support multiple asmlabel types, renamed getlabel to
|
20 ani în urmă |
fpc
|
790a4fe2d3
* log and id tags removed
|
20 ani în urmă |
fpc
|
50778076c3
initial import
|
20 ani în urmă |
peter
|
e417e34496
* truncate log
|
20 ani în urmă |
peter
|
c95a859f0a
* generic tlocation
|
21 ani în urmă |
peter
|
65c3ba277c
* ungetregister is now only used for cpuregisters, renamed to
|
21 ani în urmă |
florian
|
8a9758c5e2
* logs truncated
|
21 ani în urmă |
peter
|
7dd6b85e01
* fix shl/shr with value > 63
|
21 ani în urmă |
florian
|
c37035a450
* common addnode code for x86-64 and i386
|
22 ani în urmă |
florian
|
ace2d682b0
* rtl and compiler compile with -Cfsse2
|
22 ani în urmă |
florian
|
06442fa677
+ $fputype directive support
|
22 ani în urmă |
peter
|
41bf3e473c
* int64 shl/shr > 63 returns 0
|
22 ani în urmă |
peter
|
fb81b7ebbb
* old trgobj moved to x86/rgcpu and renamed to trgx86fpu
|
22 ani în urmă |