Jonas Maebe
|
3da9f31fa2
--- Merging r34035 into '.':
|
9 лет назад |
marco
|
ef951c96be
--- Merging r32054 into '.':
|
9 лет назад |
Jonas Maebe
|
e926169fcb
- Merging r29456 into '.':
|
9 лет назад |
florian
|
5c67fcc43f
+ change always floating point divisions into multiplications if they are a power of two,
|
10 лет назад |
florian
|
9fdfe4f474
+ convert floating point division by a constant into a multiplication if fastmath is turned on
|
10 лет назад |
florian
|
499dd078e3
+ automatically insert fma inlines into floating point code if possible and fastmath is activated
|
11 лет назад |
sergei
|
0d96963459
* Do not promote integer comparison operations to native size if one side is a constant and its value is within range of opposite side. Instead, cast the constant to type of the opposite side.
|
11 лет назад |
nickysn
|
33dac14554
* defutil.get_int_type_for_pointer_arithmetic replaced with a virtual method
|
11 лет назад |
nickysn
|
bb48761652
* taddnode.pass_typecheck_internal: always pass a tpointerdef to
|
11 лет назад |
nickysn
|
6d54046300
* output a proper error message in case number+nil is encountered (just like
|
11 лет назад |
nickysn
|
d86a8ebc99
* defutil.get_int_result_type_from_pointer_subtraction moved to a virtual
|
11 лет назад |
nickysn
|
99c555cea8
+ implemented huge pointer subtraction
|
11 лет назад |
nickysn
|
2b2224494b
* call first_addpointer and first_cmppointer in pass_1 for pchars as well. Fixes
|
11 лет назад |
nickysn
|
c8130843b2
* fixed 'cannot convert type' error when comparing two voidhugepointers with
|
11 лет назад |
nickysn
|
e80ecd4d5b
+ moved handling of pointer comparison in pass_1 to new virtual method
|
11 лет назад |
nickysn
|
da77535631
* the handling of pointer arithmetic in pass_1 moved to a new virtual method
|
11 лет назад |
nickysn
|
89db1e4118
+ add proper int type conversions for huge pointer arithmetic in pass_typecheck
|
11 лет назад |
sergei
|
4c3a4646ec
* Fixed floating-point comparisons for softfloat targets (part of Mantis #9362).
|
11 лет назад |
nickysn
|
4563b2994d
+ handle constint+pointerconst in taddnode.simplify
|
11 лет назад |
Jonas Maebe
|
d452686c39
* moved pbestrealtype from symdef to symcpu
|
11 лет назад |
Jonas Maebe
|
b57c95043f
+ support overriding tdef/tsym methods with target-specific functionality:
|
11 лет назад |
nickysn
|
71720533d7
* fixed the comparison of near pointers in i8086 far data memory models
|
11 лет назад |
nickysn
|
888ecdaee4
* fixed the type conversions of the 'and' operator to be Delphi compatible. Fixes Mantis #25179
|
11 лет назад |
nickysn
|
83dd2aed4a
* refactored the pass_typecheck code for and/or/xor/comparisons, so that the logic is simpler, but still yields exactly the same result
|
11 лет назад |
nickysn
|
3c332bf276
* not(is_signed(ld) xor is_signed(rd)) changed to (is_signed(ld)=is_signed(rd)) for better readability
|
11 лет назад |
sergei
|
8b3217815b
* When inlining currency (ordinal) multiplication, change resultdef to int64, in order to be consistent with behavior of generic handling. Fixes compilation faliure after r26500, Mantis #25565.
|
11 лет назад |
sergei
|
a3efd9e1df
+ Added method taddnode.use_generic_mul64bit, allowing it to inline full 64-bit multiplications, and fixed ARM to comply (it was not checking for possible 32x32 to 64 optimization after detecting a 64-bit operand, so recently added code for 32x32 to 64 bit optimization was inactive).
|
11 лет назад |
nickysn
|
aec73bce68
* pass the overflow check flag correctly to the 32 and 16-bit mul helpers (on
|
11 лет назад |
nickysn
|
372e9dfdf1
* improved the readability of the code of taddnode.try_make_mul32to64() even
|
11 лет назад |
nickysn
|
ac177a445e
* use is_64bit() in taddnode.try_make_mul32to64() for better readability
|
11 лет назад |