Commit History

Author SHA1 Message Date
  nickysn b41762d1bf + perform the optimization in tmoddivnode.firstoptimize also for div/mod by 8 years ago
  nickysn 910e1eccc8 * set the bit mask, used for modulus by power-of-2 in a way, that is independent 8 years ago
  nickysn ee79ff3635 * improved the optimization of signed modulus by power-of-2, so it uses less 8 years ago
  nickysn a1928859b3 * in the optimization of signed division by power-of-2 constant in 8 years ago
  nickysn 277026ffd4 * perform the high level signed division by power-of-2 optimization for all 8 years ago
  nickysn b9fdca6f49 + better high level optimization for 64-bit signed division by 2 on 32-bit and 8 years ago
  nickysn ee4c82f5f5 * in the high level optimization of signed division by power-of-2 constant, set 8 years ago
  nickysn efc5e339d0 * use an enum instead of integer constants to represent inline numbers 8 years ago
  florian b1dff29cbf * removed unused units 8 years ago
  nickysn de1e0c405e + optimize '0 shl x' and '0 shr x' to 0 8 years ago
  yury 0f9876effb * Fixed a memory leak when div is replaced by shift. 8 years ago
  pierre 1e5883b6d1 Avoid overflow error for single MinValue in rtl syshelph.inc for x86_64 CPU 9 years ago
  Jonas Maebe ed03286be5 * simplify "div -1" to unaryminusn, not just for performance reasons but 9 years ago
  yury 432248cbf1 * Removed lot of unused vars. 10 years ago
  Jonas Maebe fbacf9682f * rename WinCE softfp compilerproc names to lowercase, needed since r31404 10 years ago
  florian ba1297b1ab + provide also 8 and 16 bit div/mod helper 10 years ago
  florian 36e79a874e * when creating code for an iso mod operator, use create_internal for the helper nodes 10 years ago
  sergei 5f2821ee5f * Moved handling of emulated floating point negation into new virtual method tcgunaryminusnode.second_float_emulated. Also changed it into simple flipping of the sign bit, which is how it is defined by IEEE 754, and already done for ARM targets. Relevant ARM-specific parts can now be removed, and m68k code gets significantly better without further efforts. 11 years ago
  sergei c184d9740c + Implemented target-independent optimization of signed "mod 2**N" as 11 years ago
  nickysn a47ab44ec8 * unified the 8-bit and 16-bit alu handling in tshlshrnode.pass_typecheck 11 years ago
  nickysn 7d8fb1833f * 16-bit alu handling in tshlshrnode.pass_typecheck simplified via the use of 11 years ago
  nickysn a17797f3ca * tshlshrnode.simplify: in the case of 16-bit or 8-bit shl/shr, AND the right 11 years ago
  nickysn aa3f450832 * 8/16-bit alu fixes in tnotnode.simplify 11 years ago
  svenbarth e85075de7f Fix for Mantis #25604. 11 years ago
  florian 6e1bf4d040 * properly simplify not(<const. cbool>), resolves #25255 11 years ago
  florian cd235d8409 + simplify shl/shr x, if (x mod bitsizeof(left))=0 11 years ago
  florian 27f6fd1c2c * use new shl/shr constant folding (of r26295) only if forinline is set 11 years ago
  florian 89663e499b * fold shifting of constants equally to cpus 11 years ago
  sergei 6a08ca3f0b * tmoddivnode.firstoptimize improvements/fixes: 11 years ago
  nickysn 1312fd72f2 * tmoddivnode.pass_typecheck: in the case of unsigned div/mod positive_const, check also the upper bound of the const, so it doesn't get truncated 12 years ago