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