florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
4 ani în urmă |
yury
|
cc936710a0
* mips: Added support for unaligned load/store. It greatly improves performance and prevents bus errors on systems which do not emulate unaligned memory access.
|
5 ani în urmă |
florian
|
9710b2cbb4
+ some basic stuff for mips64el
|
5 ani în urmă |
Jonas Maebe
|
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
|
5 ani în urmă |
florian
|
79dfd9fb51
+ MIPS: take care of setnoat
|
5 ani în urmă |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 ani în urmă |
Jonas Maebe
|
d69ad8fa41
* removed temppos field again from parameter locations: they're not allocated
|
7 ani în urmă |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 ani în urmă |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
8 ani în urmă |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 ani în urmă |
sergei
|
b4904deea8
* MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552.
|
8 ani în urmă |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 ani în urmă |
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 ani în urmă |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 ani în urmă |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 ani în urmă |
sergei
|
06ee500352
* MIPS: improved code generation in make_simple_ref
|
10 ani în urmă |
sergei
|
ac64c4600f
+ MIPS: make use of instructions MUL,SEB and SEH that are available in modern cores.
|
11 ani în urmă |
sergei
|
768e090006
- MIPS: don't create reg.allocator for MM registers.
|
11 ani în urmă |
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 ani în urmă |
sergei
|
f0496001fb
- MIPS: removed allocation of stack/frame pointer registers in prologue, hacks like this are no longer needed since r27104.
|
11 ani în urmă |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 ani în urmă |
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 ani în urmă |
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 ani în urmă |
sergei
|
cd27d64cd5
+ Support (as target-independent as possible) optimization of division by constants:
|
11 ani în urmă |
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 ani în urmă |
sergei
|
ed1555b918
* Moved generation of .ent/.end directives out of generic code generator.
|
11 ani în urmă |
sergei
|
d7c7ee2c2a
* MIPS: fixed 8/16 bit arithmetic shifting to be done without using an additional register.
|
11 ani în urmă |
sergei
|
0d3f36eebf
- Remove references to global variable 'cg' from methods of tcg and some of its descendants.
|
11 ani în urmă |
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 ani în urmă |
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 ani în urmă |