Pierre Muller
|
caf964ac31
Fix storing of unaligned 64-bit to memory
|
2 жил өмнө |
Pierre Muller
|
2640e77307
Fix a_load64_reg_ref and a_load64_ref_reg mips methods
|
2 жил өмнө |
Pierre Muller
|
2aa3270ca0
Handle unaligned references in 64-bit a_load_ref_reg and a_load_reg_ref methods
|
2 жил өмнө |
florian
|
58bcbe8188
* use g_concatcopy_unaligned on MIPS if needed
|
3 жил өмнө |
Florian Klämpfl
|
3f15b21e6c
* cosmetics
|
3 жил өмнө |
Pierre Muller
|
79ebedde8e
Fix compilation from 32-bit CPU by avoiding use of aint variable in for loop
|
3 жил өмнө |
Jonas Maebe
|
d69ad8fa41
* removed temppos field again from parameter locations: they're not allocated
|
7 жил өмнө |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 жил өмнө |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
8 жил өмнө |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 жил өмнө |
sergei
|
b4904deea8
* MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552.
|
8 жил өмнө |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 жил өмнө |
sergei
|
5456960d54
* MIPS: Fixed code generation for PIC calls to local functions. Uncovered by r32803, before that the buggy branch was never taken because all functions were global.
|
9 жил өмнө |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 жил өмнө |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 жил өмнө |
sergei
|
06ee500352
* MIPS: improved code generation in make_simple_ref
|
10 жил өмнө |
sergei
|
ac64c4600f
+ MIPS: make use of instructions MUL,SEB and SEH that are available in modern cores.
|
11 жил өмнө |
sergei
|
768e090006
- MIPS: don't create reg.allocator for MM registers.
|
11 жил өмнө |
sergei
|
d9a7d28838
+ MIPS: support floating point conditions in its emulated flags, on MIPS4+ convert such flags to registers using conditional move instructions (i.e. without branching). For older cores generated code remains the same.
|
11 жил өмнө |
sergei
|
f0496001fb
- MIPS: removed allocation of stack/frame pointer registers in prologue, hacks like this are no longer needed since r27104.
|
11 жил өмнө |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 жил өмнө |
sergei
|
f1d1fd4f24
* Inserted explicit typecasts in order to prevent range check errors at some places where signed and unsigned types are assigned to each other (mostly MIPS-specific, but one was necessary in generic code).
|
11 жил өмнө |
sergei
|
e4fea2ebc8
* Dummy implementations of a_bit_scan_reg_reg and g_stackpointer_alloc in tcg, removes the need to override these methods in every descendant code generator solely to avoid "constructing a class with abstract method" warning.
|
11 жил өмнө |
sergei
|
cd27d64cd5
+ Support (as target-independent as possible) optimization of division by constants:
|
11 жил өмнө |
sergei
|
4202343033
* MIPS: emit ".set nomips16" and ".set noreorder" directives for procedures declared as "assembler nostackframe", as it is done for regular procedures. Handwritten assembler routines typically utilize delay slots, and it is desirable that assembler does not mess it up.
|
11 жил өмнө |
sergei
|
ed1555b918
* Moved generation of .ent/.end directives out of generic code generator.
|
11 жил өмнө |
sergei
|
d7c7ee2c2a
* MIPS: fixed 8/16 bit arithmetic shifting to be done without using an additional register.
|
11 жил өмнө |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 жил өмнө |
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 жил өмнө |
sergei
|
2a112ad01b
* MIPS: don't optimize reference twice for 64-bit loads and stores. Now loading/storing 64-bit value to global variable takes typically 3 instructions.
|
11 жил өмнө |