Jonas Maebe
|
fbacf9682f
* rename WinCE softfp compilerproc names to lowercase, needed since r31404
|
10 vuotta sitten |
florian
|
ba1297b1ab
+ provide also 8 and 16 bit div/mod helper
|
10 vuotta sitten |
florian
|
36e79a874e
* when creating code for an iso mod operator, use create_internal for the helper nodes
|
10 vuotta sitten |
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 vuotta sitten |
sergei
|
c184d9740c
+ Implemented target-independent optimization of signed "mod 2**N" as
|
11 vuotta sitten |
nickysn
|
a47ab44ec8
* unified the 8-bit and 16-bit alu handling in tshlshrnode.pass_typecheck
|
11 vuotta sitten |
nickysn
|
7d8fb1833f
* 16-bit alu handling in tshlshrnode.pass_typecheck simplified via the use of
|
11 vuotta sitten |
nickysn
|
a17797f3ca
* tshlshrnode.simplify: in the case of 16-bit or 8-bit shl/shr, AND the right
|
11 vuotta sitten |
nickysn
|
aa3f450832
* 8/16-bit alu fixes in tnotnode.simplify
|
11 vuotta sitten |
svenbarth
|
e85075de7f
Fix for Mantis #25604.
|
11 vuotta sitten |
florian
|
6e1bf4d040
* properly simplify not(<const. cbool>), resolves #25255
|
11 vuotta sitten |
florian
|
cd235d8409
+ simplify shl/shr x, if (x mod bitsizeof(left))=0
|
11 vuotta sitten |
florian
|
27f6fd1c2c
* use new shl/shr constant folding (of r26295) only if forinline is set
|
11 vuotta sitten |
florian
|
89663e499b
* fold shifting of constants equally to cpus
|
11 vuotta sitten |
sergei
|
6a08ca3f0b
* tmoddivnode.firstoptimize improvements/fixes:
|
11 vuotta sitten |
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 vuotta sitten |
nickysn
|
70a0d2989c
* fixed tmoddivnode.pass_typecheck on 64-bit CPUs; I was wrong about uint64 div uint64 producing int64 on 64-bit CPUs; this fixes make cycle on e.g. x86_64
|
12 vuotta sitten |
nickysn
|
7a15fd0444
* in the case of (uint8 div/mod small_positive_const), convert the const to unsigned, so that we don't do a 16-bit division on 8-bit CPUs
|
12 vuotta sitten |
nickysn
|
3558766390
* first attempt to simplify tmoddivnode.pass_typecheck handling of all cpu native int sizes
|
12 vuotta sitten |
nickysn
|
0dcbb4f1cc
* refactored tunaryplusnode.pass_typecheck as well
|
12 vuotta sitten |
nickysn
|
a3117beb12
* refactored tunaryminusnode.pass_typecheck to handle all native int sizes generically, without ifdefs
|
12 vuotta sitten |
nickysn
|
b79569ed2f
* Borland Pascal compatibility for 16-bit CPUs: int16 shl int32 now produces int32; this fixes writeln(longint) on the i8086-msdos target
|
12 vuotta sitten |
nickysn
|
a9640ad9c6
+ insert type conversion for the div result when cpuneedsdiv32helper is used
|
12 vuotta sitten |
nickysn
|
1dbca4c403
* 16-bit ALU fixes in tmoddivnode.pass_typecheck
|
12 vuotta sitten |
nickysn
|
edc382aa76
* 16-bit ALU fixes in tshlshrnode.pass_typecheck
|
12 vuotta sitten |
nickysn
|
4ac508a2b9
fixed bug in tunaryplusnode.pass_typecheck introduced in my previous commit r23737
|
12 vuotta sitten |
nickysn
|
63ac46c74c
16-bit ALU fixes in tunaryminusnode.pass_typecheck and tunaryplusnode.pass_typecheck
|
12 vuotta sitten |
florian
|
8e5bd14e3a
* overleft newline fix
|
12 vuotta sitten |
sergei
|
12ad6704f6
- Removed a number of unused variables, reduces noise at compilation.
|
12 vuotta sitten |
florian
|
5e1e42ec2b
* fixes support for cpus with cpunodefaultint for unary minus nodes
|
12 vuotta sitten |