dotgnu-pnet-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[dotgnu-pnet-commits] libjit ChangeLog jit/jit-apply-alpha.c jit/jit-...


From: Thomas Cort
Subject: [dotgnu-pnet-commits] libjit ChangeLog jit/jit-apply-alpha.c jit/jit-...
Date: Tue, 22 Aug 2006 23:41:33 +0000

CVSROOT:        /sources/dotgnu-pnet
Module name:    libjit
Changes by:     Thomas Cort <tcort>     06/08/22 23:41:32

Modified files:
        .              : ChangeLog 
        jit            : jit-apply-alpha.c jit-apply-alpha.h 
                         jit-gen-alpha.h jit-rules-alpha.c 

Log message:
        * jit/jit-apply-alpha.c jit/jit-apply-alpha.h: Fix jit_redirector_size.
        alpha_call is 6 instructions, not 1. 5 to load the addr, 1 to call.
        
        * jit/jit-gen-alpha.h: add macros for fp sign copy and arithmetic.
        
        * jit/jit-rules-alpha.c: remove TODO() from unused functions.           
                

CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/libjit/ChangeLog?cvsroot=dotgnu-pnet&r1=1.256&r2=1.257
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-apply-alpha.c?cvsroot=dotgnu-pnet&r1=1.5&r2=1.6
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-apply-alpha.h?cvsroot=dotgnu-pnet&r1=1.3&r2=1.4
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-gen-alpha.h?cvsroot=dotgnu-pnet&r1=1.6&r2=1.7
http://cvs.savannah.gnu.org/viewcvs/libjit/jit/jit-rules-alpha.c?cvsroot=dotgnu-pnet&r1=1.8&r2=1.9

Patches:
Index: ChangeLog
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/ChangeLog,v
retrieving revision 1.256
retrieving revision 1.257
diff -u -b -r1.256 -r1.257
--- ChangeLog   22 Aug 2006 21:41:57 -0000      1.256
+++ ChangeLog   22 Aug 2006 23:41:32 -0000      1.257
@@ -1,3 +1,12 @@
+2006-08-23  Thomas Cort  <address@hidden>
+
+       * jit/jit-apply-alpha.c jit/jit-apply-alpha.h: Fix jit_redirector_size.
+       alpha_call is 6 instructions, not 1. 5 to load the addr, 1 to call.
+
+       * jit/jit-gen-alpha.h: add macros for fp sign copy and arithmetic.
+
+       * jit/jit-rules-alpha.c: remove TODO() from unused functions.
+
 2006-08-23  Aleksey Demakov  <address@hidden>
 
        * jit/jit-internal.h (struct _jit_function): change the type of

Index: jit/jit-apply-alpha.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-apply-alpha.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- jit/jit-apply-alpha.c       20 Aug 2006 15:47:54 -0000      1.5
+++ jit/jit-apply-alpha.c       22 Aug 2006 23:41:32 -0000      1.6
@@ -119,7 +119,7 @@
        /* Force any pending hardware exceptions to be raised. (1 instruction) 
*/
        alpha_trapb(inst);
 
-       /* Call the redirector handling function (1 instruction) */
+       /* Call the redirector handling function (6 instruction) */
        alpha_call(inst, func);
 
        /* Restore the return address. (1 instruction) */

Index: jit/jit-apply-alpha.h
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-apply-alpha.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -b -r1.3 -r1.4
--- jit/jit-apply-alpha.h       20 Aug 2006 15:47:54 -0000      1.3
+++ jit/jit-apply-alpha.h       22 Aug 2006 23:41:32 -0000      1.4
@@ -32,7 +32,7 @@
  * The number of bytes that are needed for a redirector stub.
  * This includes any extra bytes that are needed for alignment.
  */
-#define jit_redirector_size             (41 /* instructions */ * 4 /* bytes 
per instruction */)
+#define jit_redirector_size             (46 /* instructions */ * 4 /* bytes 
per instruction */)
 
 /*
  * We should pad unused code space with NOP's.

Index: jit/jit-gen-alpha.h
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-gen-alpha.h,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -b -r1.6 -r1.7
--- jit/jit-gen-alpha.h 21 Aug 2006 14:23:44 -0000      1.6
+++ jit/jit-gen-alpha.h 22 Aug 2006 23:41:32 -0000      1.7
@@ -258,6 +258,15 @@
 #define ALPHA_OP_ITOFS         0x14
 #define ALPHA_OP_ITOFF         0x14
 #define ALPHA_OP_ITOFT         0x14
+#define ALPHA_OP_ADDS          0x16
+#define ALPHA_OP_SUBS          0x16
+#define ALPHA_OP_ADDT          0x16
+#define ALPHA_OP_SUBT          0x16
+#define ALPHA_OP_MULT          0x16
+#define ALPHA_OP_DIVT          0x16
+#define ALPHA_OP_CPYS          0x17
+#define ALPHA_OP_CPYSN         0x17
+#define ALPHA_OP_CPYSE         0x17
 #define ALPHA_OP_TRAPB         0x18
 #define ALPHA_OP_JMP           0x1a
 #define ALPHA_OP_JSR           0x1a
@@ -390,6 +399,19 @@
 #define ALPHA_FUNC_ITOFF       0x14
 #define ALPHA_FUNC_ITOFT       0x24
 
+/* floating point arithmetic operations -- use with ALPHA_OP_* == 0x16 */
+#define ALPHA_FUNC_ADDS                0x80
+#define ALPHA_FUNC_SUBS                0x81
+#define ALPHA_FUNC_ADDT                0xA0
+#define ALPHA_FUNC_SUBT                0xA1
+#define ALPHA_FUNC_MULT                0xA2
+#define ALPHA_FUNC_DIVT                0xA3
+
+/* floating point sign copy operations -- use with ALPHA_OP_* == 0x17 */
+#define ALPHA_FUNC_CPYS                0x20
+#define ALPHA_FUNC_CPYSN       0x21
+#define ALPHA_FUNC_CPYSE       0x22
+
 /* trap barrier -- use with ALPHA_OP_* == 0x18 */
 #define ALPHA_FUNC_TRAPB       0x0
 
@@ -651,6 +673,19 @@
 #define alpha_itoff(inst,sreg,fdreg)           
alpha_encode_fpop(inst,ALPHA_OP_ITOFF,ALPHA_FUNC_ITOFF,sreg,ALPHA_ZERO,fdreg)
 #define alpha_itoft(inst,sreg,fdreg)           
alpha_encode_fpop(inst,ALPHA_OP_ITOFT,ALPHA_FUNC_ITOFT,sreg,ALPHA_ZERO,fdreg)
 
+/* Floating point arithmetic instructions */
+#define alpha_adds(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_ADDS,ALPHA_FUNC_ADDS,fsreg0,fsreg1,fdreg)
+#define alpha_subs(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_SUBS,ALPHA_FUNC_SUBS,fsreg0,fsreg1,fdreg)
+#define alpha_addt(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_ADDT,ALPHA_FUNC_ADDT,fsreg0,fsreg1,fdreg)
+#define alpha_subt(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_SUBT,ALPHA_FUNC_SUBT,fsreg0,fsreg1,fdreg)
+#define alpha_mult(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_MULT,ALPHA_FUNC_MULT,fsreg0,fsreg1,fdreg)
+#define alpha_divt(inst,fsreg0,fsreg1,fdreg)    
alpha_encode_fpop(inst,ALPHA_OP_DIVT,ALPHA_FUNC_DIVT,fsreg0,fsreg1,fdreg)
+
+/* Floating point sign copy instructions */
+#define alpha_cpys(inst,fsreg0,fsreg1,fdreg)   
alpha_encode_fpop(inst,ALPHA_OP_CPYS,ALPHA_FUNC_CPYS,fsreg0,fsreg1,fdreg)
+#define alpha_cpysn(inst,fsreg0,fsreg1,fdreg)  
alpha_encode_fpop(inst,ALPHA_OP_CPYSN,ALPHA_FUNC_CPYSN,fsreg0,fsreg1,fdreg)
+#define alpha_cpyse(inst,fsreg0,fsreg1,fdreg)  
alpha_encode_fpop(inst,ALPHA_OP_CPYSE,ALPHA_FUNC_CPYSE,fsreg0,fsreg1,fdreg)
+
 /* load immediate pseudo instruction. */
 #define _alpha_li64(code,dreg,val)                             \
 do {                                                           \

Index: jit/jit-rules-alpha.c
===================================================================
RCS file: /sources/dotgnu-pnet/libjit/jit/jit-rules-alpha.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -b -r1.8 -r1.9
--- jit/jit-rules-alpha.c       21 Aug 2006 14:23:44 -0000      1.8
+++ jit/jit-rules-alpha.c       22 Aug 2006 23:41:32 -0000      1.9
@@ -267,18 +267,17 @@
        return 0;
 }
 
-/*
- * TODO: write what this function is supposed to do
- */
+void _jit_gen_exch_top(jit_gencode_t gen, int reg, int pop) {
+       /* not used by alpha */;
+}
+
+
 void _jit_gen_spill_top(jit_gencode_t gen, int reg, jit_value_t value, int 
pop) {
-       TODO();
+       /* not used by alpha */;
 }
 
-/*
- * TODO: write what this function is supposed to do
- */
 void _jit_gen_spill_global(jit_gencode_t gen, int reg, jit_value_t value) {
-       TODO();
+       /* not used by alpha */;
 }
 
 /*
@@ -548,13 +547,6 @@
        }
 }
 
-/*
- * TODO: write what this function is supposed to do
- */
-void _jit_gen_exch_top(jit_gencode_t gen, int reg, int pop) {
-       TODO();
-}
-
 void _jit_gen_fix_value(jit_value_t value) {
 
        if (!(value->has_frame_offset) && !(value->is_constant)) {




reply via email to

[Prev in Thread] Current Thread [Next in Thread]