Commit Graph

123 Commits

Author SHA1 Message Date
peter
3a92a2a25a * parameter alignment fixes 2003-10-03 22:00:33 +00:00
peter
c63b079d07 * save ESP after pusha and restore before popa for save all registers 2003-10-03 14:45:37 +00:00
peter
b1863f8fad * remove asw 2003-10-02 21:18:06 +00:00
peter
70fe77ca7c * procinfo unit contains tprocinfo
* cginfo renamed to cgbase
  * moved cgmessage to verbose
  * fixed ppc and sparc compiles
2003-10-01 20:34:48 +00:00
peter
5a7ce9fbe3 * fix pushw reg 2003-09-30 19:53:47 +00:00
peter
540691bf02 * optimized releasing of registers 2003-09-29 20:58:55 +00:00
peter
15446d6522 * removed emitjmp 2003-09-28 21:49:39 +00:00
peter
a028d221cc * fixed invalid opcode handling in spill registers 2003-09-28 21:49:30 +00:00
peter
9a9d96fe5d * fix register leak 2003-09-28 21:48:57 +00:00
peter
e248f1b570 * a_call_ref removed 2003-09-28 13:37:19 +00:00
peter
36c2bb1e1a * give error for wrong register number 2003-09-28 13:37:07 +00:00
peter
b6a0492c9c * remove sp_fixup 2003-09-25 21:29:23 +00:00
peter
1c11c95b3c * change push/pop in getreg/ungetreg 2003-09-25 21:29:16 +00:00
peter
e487793919 * %st is st0 in nasm 2003-09-25 14:59:16 +00:00
florian
0493cd3d2e * more x86-64 fixes 2003-09-25 13:13:32 +00:00
florian
f6e456268f * fixed make cycle 2003-09-24 21:15:49 +00:00
florian
0b48a6a3ec * x86-64 adaptions 2003-09-24 17:12:36 +00:00
peter
8af51ea6d3 * locals and paras are allocated in the code generation
* tvarsym.localloc contains the location of para/local when
    generating code for the current procedure
2003-09-23 17:56:05 +00:00
daniel
1e02028986 * Fixed incorrect movzx spilling 2003-09-14 14:22:51 +00:00
daniel
c82243df4d * Add BTR to destination memory location check in spilling 2003-09-12 20:25:17 +00:00
florian
8f66389b46 * improved arm code generation
* move some protected and private field around
  * the temp. register for register parameters/arguments are now released
    before the move to the parameter register is done. This improves
    the code in a lot of cases.
2003-09-11 11:54:59 +00:00
daniel
079751b894 * Failed attempt to restore broken fastspill functionality 2003-09-10 19:14:31 +00:00
marco
305226dd23 * fix from peter for bts reg32,mem32 problem 2003-09-10 11:23:09 +00:00
peter
3a3d710c47 * basics for x86 register calling 2003-09-09 21:03:17 +00:00
daniel
49e539ac8d * Adding register allocation order 2003-09-09 20:59:27 +00:00
florian
f495796796 * x86 instruction table updated to nasm 0.98.37:
- sse3 aka prescott support
      - small fixes
2003-09-09 12:54:45 +00:00
peter
b9d09a4e5c * preparations for different default calling conventions
* various RA fixes
2003-09-07 22:09:34 +00:00
florian
22f1ff8da4 * merged Wiktor's Watcom patches in 1.1 2003-09-05 17:41:12 +00:00
florian
024d08e05a * ARM compiler compiles again 2003-09-04 21:07:03 +00:00
peter
01a1f7d063 * return 0 instead of $ff when no reg is found 2003-09-04 14:42:44 +00:00
peter
6a8d5eb25d * NEWRA branch merged 2003-09-03 15:55:00 +00:00
florian
220e05dd5e * fixed arm concatcopy
+ arm support in the common compiler sources added
  * moved some generic cg code around
  + tfputype added
  * ...
2003-09-03 11:18:36 +00:00
peter
d5a6a5b7f9 * fix wrong registers in reference 2003-08-26 12:42:45 +00:00
peter
6b12cc11e5 * first spill the registers of top_ref before spilling top_reg 2003-08-21 17:20:19 +00:00
peter
b9afdc6a36 * fix reg-supreg range check error 2003-08-21 14:48:36 +00:00
daniel
2b0cd432ca * Small NOTARGETWIN32 conditional tweak 2003-08-20 19:28:21 +00:00
daniel
2ce08bd157 * Some old register convention code removed
* A few changes to eliminate a few lines of code
2003-08-20 16:52:01 +00:00
daniel
ebb1f3a361 * New register coding now mandatory, some more convert_registers calls
removed.
2003-08-20 09:07:00 +00:00
daniel
82b0cf41a6 * Made internal assembler use new register coding 2003-08-20 07:48:03 +00:00
daniel
41211715ff * Corrected a comment. 2003-08-19 13:58:33 +00:00
daniel
787fcc5797 * Made ATT asm writer work with -sr 2003-08-18 11:49:47 +00:00
Jonas Maebe
4f8c390198 * fixed regvars so they work with newra (at least for ppc)
* fixed some volatile register bugs
  + -dnotranslation option for -dnewra, which causes the registers not to
    be translated from virtual to normal registers. Requires support in
    the assembler writer as well, which is only implemented in aggas/
    agppcgas currently
2003-08-17 16:59:20 +00:00
daniel
878498029f * Fixed newra compilation 2003-08-15 14:44:20 +00:00
peter
52c73e80d1 * start of sparc support for newra 2003-08-11 21:18:20 +00:00
daniel
42c320cb29 * cs_regalloc renamed to cs_regvars to avoid confusion with register
allocator
  * Some preventive changes to i386 spillinh code
2003-08-09 18:56:54 +00:00
Jonas Maebe
f909d6a620 * fixed ppc compilation problems and changed VOLATILE_REGISTERS for x86
so that it doesn't include ebp and esp anymore
2003-07-06 21:50:33 +00:00
daniel
268bfcf784 * Fixed register allocator. *Lots* of fixes. 2003-07-06 15:31:20 +00:00
peter
390db181c1 * loadfpu_reg_reg size specifier 2003-07-03 18:59:25 +00:00
pierre
c80bd4565d * fix a bug preventing correct reading of intel 'mov [edi],al' 2003-06-20 12:57:15 +00:00
Jonas Maebe
404d344d92 * lots of newra fixes (need getfuncretparaloc implementation for i386)!
* renamed all_intregisters to volatile_intregisters and made it
    processor dependent
2003-06-17 16:34:44 +00:00