[fpc-devel] fixes of the mips code

2012-06-09 Thread Fuxin Zhang
Hi,

  Based on trunk r21549, I have uploaded all my patches to my branch,
please help to review and merge if possible.

svn log --stop-on-copy
http://svn.freepascal.org/svn/fpc/branches/foxsen/mips :


r21564 | foxsen | 2012-06-09 17:01:14 +0800 (六, 2012-06-09) | 2 行

mips C_alignment is incorrect, hack for now


r21563 | foxsen | 2012-06-09 16:52:24 +0800 (六, 2012-06-09) | 5 行

remove macros already by common code:
  FPC_HAS_TYPE_DOUBLE
  FPC_HAS_TYPE_SINGLE
  FPC_REQUIRES_PROPER_ALIGNMENT


r21562 | foxsen | 2012-06-09 16:50:04 +0800 (六, 2012-06-09) | 2 行

make the calling convention support MIPS O32 ABI


r21561 | foxsen | 2012-06-09 11:32:24 +0800 (六, 2012-06-09) | 3 行

fix short/smallint operations
without this test/cg/tcnvint6.pp failed at 31


r21560 | foxsen | 2012-06-09 11:23:50 +0800 (六, 2012-06-09) | 3 行

enable softfpu, default first_int_to_real depends on int64_to_float64/32 etc.
It is needed by the patch of r21558


r21559 | foxsen | 2012-06-09 11:12:30 +0800 (六, 2012-06-09) | 3 行

set default round mode to round nearest instead of round to zero
it fix test/cg/taddcurr.pp


r21558 | foxsen | 2012-06-09 11:01:56 +0800 (六, 2012-06-09) | 3 行

use inherited first_int_to_real to avoid mixing doubles and singles
it fixes the failure of test/cg/taddcurr.pp


r21557 | foxsen | 2012-06-09 10:59:32 +0800 (六, 2012-06-09) | 4 行

Make macro MIPS/CPUMIPS/MIPS32 common for big endian and little endian
mips processors
use MIPSEL* for little endian systems
use MIPSEB* for big endian systems


r21554 | foxsen | 2012-06-08 23:56:28 +0800 (五, 2012-06-08) | 2 行

correct constant for mipsel


r21553 | foxsen | 2012-06-08 23:50:04 +0800 (五, 2012-06-08) | 2 行

make clear what registers might need to be saved


r21552 | foxsen | 2012-06-08 23:45:24 +0800 (五, 2012-06-08) | 3 行

use NR_R1 instead of NR_R3 for big stack adjustment temp register(R1 is
$at, more suitable)
use A_JR for register operands, although the assembler can translate J to
JR when necessary, it is more clear


r21551 | foxsen | 2012-06-08 23:37:18 +0800 (五, 2012-06-08) | 3 行

use cpu64bitaddr instead of cpu64bit
fix wrong order of 64BIT return register(now for little endian mips)


r21550 | foxsen | 2012-06-08 23:04:03 +0800 (五, 2012-06-08) | 2 行

merge trunk r21549



___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel


Re: [fpc-devel] fixes of the mips code

2012-06-09 Thread Fuxin Zhang
 Hi,

   Based on trunk r21549, I have uploaded all my patches to my branch,
 please help to review and merge if possible.

 svn log --stop-on-copy
 http://svn.freepascal.org/svn/fpc/branches/foxsen/mips :

 
 r21564 | foxsen | 2012-06-09 17:01:14 +0800 (六, 2012-06-09) | 2 行

 mips C_alignment is incorrect, hack for now
This one is wrong, correct fix should be:

r21565 | foxsen | 2012-06-09 17:28:32 +0800 (六, 2012-06-09) | 3 行

revert incorrect fix for C_alignment at revision 21564
set proper record alignments in i_linux.pas instead


___
fpc-devel maillist  -  fpc-devel@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-devel