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