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 |