Jonas Maebe
|
04d295f186
* first step towards supporting 32 bit targets with the LLVM code generator:
|
6 years ago |
Jonas Maebe
|
0b246f3dbd
* converted Boolean8 to an internal type, and mapped Boolean to the
|
6 years ago |
florian
|
96e92527e9
* constant folding of not must check if the deftype is really an orddef, resolves #33696
|
7 years ago |
svenbarth
|
9b45f58c0b
+ add flags that allow checking for overloads with isbinaryoverloaded() and isunaryoverloaded() without modifying the passed in node or even checking for normally non-overloadable operators
|
7 years ago |
florian
|
71e71ad267
* fix currency division on non x86 32 bit targets
|
7 years ago |
florian
|
8c5606b41d
+ support mmx shifting
|
7 years ago |
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 |