Commit History

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