Károly Balogh
|
249a60b28b
x86: fix a variable op not initialized warning. This hopefully fixes our x86 testsuite run.
|
11 жил өмнө |
florian
|
499dd078e3
+ automatically insert fma inlines into floating point code if possible and fastmath is activated
|
11 жил өмнө |
sergei
|
2ee0c8de45
* i386: For integer comparisons with zero, emit "test $-1,%reg" instead of "test %reg,%reg". It is more spilling-friendly, because it transforms into "test $-1,spilltemp" and does not require a register.
|
11 жил өмнө |
sergei
|
07e90aaa24
+ Implemented IEEE 754-compliant checking for unordered results of floating-point compares on x86 targets. Mantis #9362.
|
11 жил өмнө |
sergei
|
3e20a136f3
* tx86addnode.second_addfloat: use single and double-precision memory locations without loading them on FPU stack if possible.
|
11 жил өмнө |
sergei
|
ebdbf21650
* tx86addnode.second_cmpfloatsse and tx86addnode.second_cmpfloatavx are identical except instruction opcodes -> merged into second_cmpfloatvector, cleaned up, and allowed constant operands at both sides.
|
11 жил өмнө |
sergei
|
965540eab3
* Let tx86addnode.check_left_and_right_fpureg() act as when its argument was=true (removed argument and renamed to force_left_and_right_fpureg). Its action when force_fpureg=false is now coded separately.
|
11 жил өмнө |
Jonas Maebe
|
4065483a50
* completed thlcgobj.location_force_fpureg(), use it everywhere and removed
|
11 жил өмнө |
sergei
|
6168f563c2
* x86 compares: compare references with constants directly (without loading to register) if possible, this helps to reduce register pressure.
|
11 жил өмнө |
nickysn
|
be5f49b3e5
* tx86addnode.second_cmpfloat: on i8086 only load the high byte of the FPU
|
11 жил өмнө |
nickysn
|
ada9ccf6a6
* tx86addnode.second_cmpfloat: do not emit a fwait after fstsw as my own testing
|
11 жил өмнө |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
11 жил өмнө |
nickysn
|
6fdadb6248
* 8087 fixes in tx86addnode.second_cmpfloat:
|
11 жил өмнө |
florian
|
3c58cad96b
* make use of lea if possible
|
11 жил өмнө |
sergei
|
5de4bdac40
* tx86addnode.second_cmpfloat: use getresflags() to reduce code duplication.
|
12 жил өмнө |
florian
|
507edb16de
* use add/sub instead of inc/dec on modern CPUs when optimizing for speed
|
12 жил өмнө |
florian
|
0a84f1f10c
+ avx uses add to multiply by 2
|
12 жил өмнө |
florian
|
d8ff85846f
* don't reuse mm registers used by child nodes
|
12 жил өмнө |
florian
|
e81d2d1f3b
* basic avx support for floating point operations (use -Cfavx to activate)
|
12 жил өмнө |
nickysn
|
90ecd72286
* x86_64 compilation fixed after r24752
|
12 жил өмнө |
nickysn
|
ec76b2cf40
* refactored the segment-in-integer-register reference support, so it's handled in make_simple_ref, instead of all over the place in the code generator
|
12 жил өмнө |
Jonas Maebe
|
2dd75e707e
* renamed thlcgobj.tcgsize2orddef to defutil.cgsize_orddef
|
12 жил өмнө |
nickysn
|
525246f61b
* support i8086 far references in tx86addnode.emit_op_right_left
|
12 жил өмнө |
Jonas Maebe
|
5051453806
+ support for LOC_(C)MMREGISTER in hlcg
|
12 жил өмнө |
nickysn
|
4c95592e08
* don't use 'fnstsw ax' if the current cpu level is below 286
|
12 жил өмнө |
nickysn
|
e6c8ac6694
* use the generic tcgaddnode.second_addsmallset on i8086, because the BTx instructions are 386+
|
12 жил өмнө |
florian
|
6345aee80b
* revert r19643: FloatToStr has to handle Nan correctly and should not cause
|
12 жил өмнө |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 жил өмнө |
pierre
|
85862e476b
Fix for test tw19368
|
13 жил өмнө |
florian
|
46cc0209de
* make use of mulps/mulpd and haddps/haddpd/hsubpd/hsubps to optimze x*x+y*y and x*x-y*y where x and y might be single or double
|
14 жил өмнө |