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