Pierre Muller
|
b048ae37b2
Fix loading of 64-bit constant into register for 64-bit mips CPU
|
3 gadi atpakaļ |
florian
|
ba51494bd7
* more MIPS64 fixes
|
3 gadi atpakaļ |
Florian Klämpfl
|
9348f58e70
* cosmetics
|
3 gadi atpakaļ |
Pierre Muller
|
a9c67f22fd
Add use of SD instruction in tcgmips.a_load_reg_ref method
|
3 gadi atpakaļ |
Pierre Muller
|
c2ffd51c63
Fix compilation from 32-bit CPU by avoiding use of aint variable in for loop
|
3 gadi atpakaļ |
florian
|
637976e83f
* patch by Marģers to unify internal error numbers, resolves #37888
|
4 gadi atpakaļ |
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 gadi atpakaļ |
florian
|
9710b2cbb4
+ some basic stuff for mips64el
|
5 gadi atpakaļ |
Jonas Maebe
|
1e3f72403e
* renamed getintparaloc to getcgtempparaloc
|
5 gadi atpakaļ |
florian
|
79dfd9fb51
+ MIPS: take care of setnoat
|
5 gadi atpakaļ |
Jonas Maebe
|
281b3ad276
* fix case completeness and unreachable code warnings in compiler that would
|
6 gadi atpakaļ |
Jonas Maebe
|
d69ad8fa41
* removed temppos field again from parameter locations: they're not allocated
|
7 gadi atpakaļ |
Jonas Maebe
|
4686f61002
* keep track of the temp position separately from the offset in references,
|
7 gadi atpakaļ |
Jonas Maebe
|
880d438704
* renamed t<cpuname>procinfo to tcpuprocinfo for all targets, so we can
|
8 gadi atpakaļ |
Jonas Maebe
|
a25ebbba3e
+ added volatility information to all memory references
|
8 gadi atpakaļ |
sergei
|
b4904deea8
* MIPS: Fixed code generation for PIC global symbols with large offset, resolves #30552.
|
8 gadi atpakaļ |
Jonas Maebe
|
aa1be3276f
- removed default value of _typ parameter of TAsmData.(Weak)RefAsmSymbol():
|
9 gadi atpakaļ |
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 gadi atpakaļ |
Jonas Maebe
|
61e4a1b811
+ added tasmlist parameter to getintparaloc() (needed for llvm)
|
10 gadi atpakaļ |
Jonas Maebe
|
67b8aceaee
* synchronized with privatetrunk till r30095
|
10 gadi atpakaļ |
sergei
|
06ee500352
* MIPS: improved code generation in make_simple_ref
|
10 gadi atpakaļ |
sergei
|
ac64c4600f
+ MIPS: make use of instructions MUL,SEB and SEH that are available in modern cores.
|
11 gadi atpakaļ |
sergei
|
768e090006
- MIPS: don't create reg.allocator for MM registers.
|
11 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
f0496001fb
- MIPS: removed allocation of stack/frame pointer registers in prologue, hacks like this are no longer needed since r27104.
|
11 gadi atpakaļ |
Jonas Maebe
|
b745dcc64c
* moved g_external_wrapper() to the hlcg, and also g_intf_wrapper() because
|
11 gadi atpakaļ |
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 gadi atpakaļ |
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 gadi atpakaļ |
sergei
|
cd27d64cd5
+ Support (as target-independent as possible) optimization of division by constants:
|
11 gadi atpakaļ |
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 gadi atpakaļ |