sergei
|
c31321c2fe
* TCGMIPS.handle_reg_const_reg(): fixed to generate 'real' CPU instructions, so macro processing by assembler is no longer needed.
|
12 years ago |
sergei
|
d367148f75
- Removed obsolete comments (copypasted from other CPU code, most likely).
|
12 years ago |
sergei
|
300289dd89
* MIPS: reworked 64-bit code generation, implemented overflow checking and optimized operations with constants.
|
12 years ago |
sergei
|
bfd7401541
* MIPS: overflow checking added in r24445 works only when source and destination of operation are different registers. Fixed cases of operations on same register.
|
12 years ago |
sergei
|
7cfc737866
* MIPS: rewrote 32-bit code generation methods, reducing code duplication.
|
12 years ago |
sergei
|
504b6754b7
* MIPS small improvements:
|
12 years ago |
pierre
|
702effaad0
Force use of PIC compatible calling for register variable calls as procvars might be internal or external and thus require PIC
|
12 years ago |
sergei
|
6f1997f5e5
+ MIPS: added profiling support
|
12 years ago |
sergei
|
1c652eb8f9
MIPS procinfo improvements:
|
12 years ago |
sergei
|
823e3ea398
MIPS: reworked PIC/call code:
|
12 years ago |
sergei
|
a1b50f643e
- removed never used function.
|
12 years ago |
sergei
|
d190d4676b
- MIPS: removed comment generation in function prologues, it clutters listing more than it helps. Also removed some unused variables.
|
12 years ago |
sergei
|
354ebb822a
* MIPS: fixed layout of stack frame in case procedure does only low-level calls (via a_call_name, etc.). A 16-byte outgoing parameter area must be allocated regardless of actual parameter count.
|
12 years ago |
sergei
|
69c8f6cf7d
* Typo in previous commit
|
12 years ago |
sergei
|
d7c96dea8b
* MIPS: refactoring: removed handle_load_store and handle_load_store_fpu.
|
12 years ago |
sergei
|
30247d8961
* MIPS: fixed parameter handling for big-endian targets, and removed a lot of garbage.
|
12 years ago |
pierre
|
2916235cfe
Fix make_simple_ref for pic address with big offsets
|
12 years ago |
sergei
|
d82387ff72
* MIPS: fixed parameter management to properly align records smaller than 32 bits on big-endian targets.
|
12 years ago |
sergei
|
ef38193043
* MIPS: Once again fixed g_external_wrapper. My initial assumption about .cpload was wrong: it is optimized into position-dependent sequence only if "-KPIC -mno-shared" is passed to GAS command line, without -KPIC it is ignored altogether. Therefore r23566 breaks some non-PIC tests.
|
12 years ago |
sergei
|
9bc758d62b
* Forgot to set base register to NR_GP
|
12 years ago |
sergei
|
a0c1e1b07f
* MIPS: fixed a_call_name and a_call_reg methods to workaround a bug in GAS <2.21, see comments in source for details.
|
12 years ago |
sergei
|
8bfbee747a
* MIPS: Rewrote g_intf_wrapper method to support instance offsets greater than 32767 and PIC (the latter part untested yet).
|
12 years ago |
pierre
|
7e79042d58
Reorganize for better pic support (not yet working completly ...)
|
12 years ago |
sergei
|
162896e7d7
* MIPS code generator fixes and improvements:
|
12 years ago |
Jonas Maebe
|
69c29a415f
* pass the procdef to getintparaloc instead of only the proccalloption, so
|
12 years ago |
sergei
|
db72b8d7fd
* TCGMips.a_loadfpu_reg_cgpara: temps of type Double need 8-byte alignment, according to description of sdcX/ldcX instructions. Using TCGSize2Size to specify alignment is somewhat weird, but it is being used in other CPU back-ends and looks working.
|
12 years ago |
pierre
|
ff78c930c5
Fix problem in 64bit substraction
|
13 years ago |
pierre
|
15f4e1279b
Add RS_GP to list of saved registers if pi_needs_got flag is set
|
13 years ago |
pierre
|
c72f27e53e
Remove more TABs in source
|
13 years ago |
pierre
|
80b0891c7c
Remove TABs in source
|
13 years ago |