nickysn
|
be85998313
* fixes in optimize_op_const:
|
11 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
5cd0684d45
* tcg.a_load_ref_reg_unaligned: if loading signed 16-bit value, treat upper half as signed 8-bit to ensure that result is properly extended. This routine is used only by SPARC target (other CPUs use specific implementations), and it generates pretty inefficient code, therefore it's probably worth to drop it altogether and implement SPARC-specific version. Mantis #25440.
|
11 gadi atpakaļ |
nickysn
|
bf07fc077b
* specify AT_DATA in all references to the tobjectdef.vmt_mangledname symbol.
|
12 gadi atpakaļ |
svenbarth
|
c48d572996
Implement support for saving and restoring address registers.
|
12 gadi atpakaļ |
svenbarth
|
235c06ab34
Implement volatile address registers. Fixes quite some tests, but also breaks others... (overall more are fixed than are broken :) )
|
12 gadi atpakaļ |
florian
|
e81d2d1f3b
* basic avx support for floating point operations (use -Cfavx to activate)
|
12 gadi atpakaļ |
nickysn
|
512ca83f33
- don't allocate/deallocate the fpu registers in tcg.[de]allocallcpuregisters on the i8086
|
12 gadi atpakaļ |
nickysn
|
a5c5b05362
* initial support for system procs that use calling conventions that push left to right on i8086 or i386
|
12 gadi atpakaļ |
florian
|
1eeeb309c7
* intial armv6m support, it is not working yet, constant pool insertation and conditional branch fixup is not working yet
|
12 gadi atpakaļ |
paul
|
5d74e0578a
compiler: remove unused variables and unneeded assignments
|
12 gadi atpakaļ |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
12 gadi atpakaļ |
florian
|
4f30ac0247
* put records with 16 bytes size into two register on 64 bit targets if possible
|
12 gadi atpakaļ |
pierre
|
d8c2930454
Also accept R_ADDRESSREGISTER in a_load_cgparaloc_anyreg method
|
13 gadi atpakaļ |
florian
|
2e7fe1aebd
* support of avx register requires now proper usage of R_SUBMMWHOLE
|
13 gadi atpakaļ |
florian
|
ca5fabda6d
* cleanup some unused units from uses clauses
|
13 gadi atpakaļ |
florian
|
67744ef46e
* fix methodpointers in registers on big endian targets
|
13 gadi atpakaļ |
florian
|
d93cee995b
* fix register method pointer for ppc64 and x86_64-linux
|
13 gadi atpakaļ |
florian
|
7361e19799
+ support for handling OS_128/OS_S128 on 64 Bit CPUs as far as needed for method pointers in registers
|
13 gadi atpakaļ |
Jonas Maebe
|
be8f8fec76
* converted tcg.g_releasevaluepara_openarray() to thlcg
|
13 gadi atpakaļ |
Jonas Maebe
|
9197ce100e
* converted tcg.g_copyvaluepara_openarray() to thlcg
|
13 gadi atpakaļ |
Jonas Maebe
|
aba6923187
* moved g_test_self() from cgobj to hlcgobj
|
13 gadi atpakaļ |
Jonas Maebe
|
7c21cba1e2
* migrated g_copyshortstring, g_incrrefcount and g_array_rtti_helper to thlcg
|
13 gadi atpakaļ |
Jonas Maebe
|
7a0ae38700
+ also specify the parameter def when allocating a parameter via
|
13 gadi atpakaļ |
Jonas Maebe
|
708a2532fc
* consistently define empty saved_mm_registers arrays as containing a single
|
13 gadi atpakaļ |
Jonas Maebe
|
f2c82e32cd
- removed g_indirect_sym_load() from hlcgobj/hlcg2ll because this cgobj
|
13 gadi atpakaļ |
Jonas Maebe
|
edd42aa42a
* moved subsetref/reg and bit_set/test support from cgobj to hlcgobj for
|
13 gadi atpakaļ |
Jonas Maebe
|
641b259aed
* adjusted thlcg.g_rangecheck() implementation so it can be used for all
|
13 gadi atpakaļ |
Jonas Maebe
|
003a30db6b
- reverted r21246, it breaks tcalext3/5 on x86
|
13 gadi atpakaļ |
Jonas Maebe
|
9568693664
* removed superfluous sign extension from a_load_subsetreg_reg() (the value
|
13 gadi atpakaļ |