[Top][All Lists]
[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)) {
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [dotgnu-pnet-commits] libjit ChangeLog jit/jit-apply-alpha.c jit/jit-...,
Thomas Cort <=