florian
|
37b34edbc6
* do not reuse registers when calculating addresses in pic mode
|
11 năm trước cách đây |
sergei
|
9c1f917e3a
* a_call_ref functionality cannot be implemented efficiently at code generator level, because references need specific preparations at earlier points. Moved this support to tcgcallnode and its x86 descendants, and got rid of all ifdef's around.
|
11 năm trước cách đây |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 năm trước cách đây |
florian
|
28a8dc42c6
* fix tcgx86.a_op_reg_reg on x86-64 and make use of it
|
11 năm trước cách đây |
florian
|
7d7bf1d877
+ make use of SHLX/SHRX on CPUs supporting BMI2
|
11 năm trước cách đây |
florian
|
48ae2d215a
+ concatcopy variants using sse and avx, only activated if optimization for size is done because at least on an i7-4770 it has shown no benefit
|
11 năm trước cách đây |
nickysn
|
85dd9e5789
+ added a size parameter to optimize_op_const and do a sign extension of the 'a' parameter up from the specified size, so that things like (i and $ffffffff) get optimized away the same way as (i and -1)
|
11 năm trước cách đây |
sergei
|
6b1f021fcf
- Removed remaining optimizations that duplicate functionality of tcg.optimize_op_const.
|
11 năm trước cách đây |
nickysn
|
1f7b14f38e
* fixed the conversion of powerof2 mul/imuls to lea in tcgx86.a_op_const_reg_reg
|
11 năm trước cách đây |
nickysn
|
cc1faad3d2
+ make use of the 3-operand form of IMUL on i386 and x86_64
|
11 năm trước cách đây |
nickysn
|
5d75bf4f92
* always use IMUL instead of MUL on i386, when doing a 32->32 multiplication
|
11 năm trước cách đây |
nickysn
|
820b667e1b
- rm the OP_IMUL to SHL optimization from tcgx86.a_op_const_reg and tcgx86.a_op_const_ref, because it's already done in optimize_op_const, which is called in the beginning of both methods.
|
11 năm trước cách đây |
florian
|
e210d5f30e
+ cpu_capabilites for x86_64 and i386
|
11 năm trước cách đây |
sergei
|
f2096de53a
* tcg386.g_proc_exit: instead of recalculating stack size, use current_procinfo.final_localsize which was calculated in g_proc_entry.
|
11 năm trước cách đây |
sergei
|
179586f589
+ SEH support for Win32. Enable by cycling with OPT=-dTEST_WIN32_SEH.
|
11 năm trước cách đây |
florian
|
4d5119bf1c
* fixes several issues which cause warnings by the dfa code when using it to detect uninitialized variables
|
12 năm trước cách đây |
nickysn
|
7ae59a62c5
* emit a FWAIT after a floating point store, when targeting the 8087 and 80287
|
12 năm trước cách đây |
nickysn
|
dea947f87b
* fixed tcgx86.a_op_const_ref for shl/shr/sar/rol/ror on i8086 and x86_64
|
12 năm trước cách đây |
nickysn
|
d0f988f7a8
* don't use LEA in the code generator on i8086, as this breaks it quite badly.
|
12 năm trước cách đây |
florian
|
7fc1d70e49
* do reg2=reg1*const by lea if possible
|
12 năm trước cách đây |
florian
|
3c58cad96b
* make use of lea if possible
|
12 năm trước cách đây |
nickysn
|
67fdcb02f2
* in tcgx86.make_simple_ref, on the i8086, emit 'mov es, reg', instead of
|
12 năm trước cách đây |
nickysn
|
6be9627e74
* use all kinds of copy and not just copy_string in Tcgx86.g_concatcopy, when
|
12 năm trước cách đây |
nickysn
|
bd0585274e
* tsettings.enablecld converted to a targetswitch ts_cld
|
12 năm trước cách đây |
nickysn
|
52fcc0a407
+ added a new x86-specific compiler option 'enablecld', which controls whether
|
12 năm trước cách đây |
Jonas Maebe
|
3b9b6a0cd7
* explicitly define the asmsymbols for Darwin call stubs as local
|
12 năm trước cách đây |
sergei
|
e1550e1aed
* Restore registers in correct order (for push/pop it *does* matter), fixes crashes caused by r25224.
|
12 năm trước cách đây |
sergei
|
5c4abfa75a
+ Implemented saving/restoring registers using PUSH/POP instructions on i386 targets with non-fixed stack. Provides some advantage in code size (e.g. the compiler becomes about 20KBytes smaller).
|
12 năm trước cách đây |
sergei
|
a21a20d559
+ i8086-specific version of g_stackpointer_alloc.
|
12 năm trước cách đây |
sergei
|
1f72143eef
* In preparation for fixing Mantis #24791: Copy related code from tcgx86.g_proc_entry to tcgx86_64.g_proc_entry, and remove win64-specific stuff from tcgx86 version.
|
12 năm trước cách đây |