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