- prototypes for x86_64_emit_* functions
authortwisti <none@none>
Sat, 1 Nov 2003 19:20:38 +0000 (19:20 +0000)
committertwisti <none@none>
Sat, 1 Nov 2003 19:20:38 +0000 (19:20 +0000)
- define REG_NULL

x86_64/ngen.h

index b6e27aa1a12a503e074eef07658ed7c5439cf154..840b5e385f7e7c653fe9b0a52a86f1edf4675baa 100644 (file)
@@ -11,7 +11,7 @@
              Reinhard Grafl      EMAIL: cacao@complang.tuwien.ac.at
              Christian Thalinger EMAIL: cacao@complang.tuwien.ac.at
 
-    Last Change: $Id: ngen.h 521 2003-10-22 21:03:31Z twisti $
+    Last Change: $Id: ngen.h 545 2003-11-01 19:20:38Z twisti $
 
 *******************************************************************************/
 
@@ -34,6 +34,8 @@
 #define REG_ITMP2       R10      /* temporary register and method pointer     */
 #define REG_ITMP3       R11      /* temporary register                        */
 
+#define REG_NULL        -1       /* used for reg_of_var where d is not needed */
+
 #define REG_ITMP1_XPTR  RAX      /* exception pointer = temporary register 1  */
 #define REG_ITMP2_XPC   R10      /* exception pc = temporary register 2       */
 
@@ -67,8 +69,10 @@ int nregdescint[] = {
 /* for use of reserved registers, see comment above */
 
 int nregdescfloat[] = {
+/*      REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_TMP, REG_TMP, REG_TMP, REG_TMP, */
+/*      REG_RES, REG_RES, REG_RES, REG_SAV, REG_SAV, REG_SAV, REG_SAV, REG_SAV, */
     REG_ARG, REG_ARG, REG_ARG, REG_ARG, REG_TMP, REG_TMP, REG_TMP, REG_TMP,
-    REG_RES, REG_RES, REG_RES, REG_SAV, REG_SAV, REG_SAV, REG_SAV, REG_SAV,
+    REG_RES, REG_RES, REG_RES, REG_TMP, REG_TMP, REG_TMP, REG_TMP, REG_TMP,
     REG_END
 };
 
@@ -341,6 +345,21 @@ static const unsigned char x86_64_cc_map[] = {
 
 
 
+void x86_64_emit_ialu(s4 alu_op, stackptr src, instruction *iptr);
+void x86_64_emit_lalu(s4 alu_op, stackptr src, instruction *iptr);
+void x86_64_emit_ialuconst(s4 alu_op, stackptr src, instruction *iptr);
+void x86_64_emit_laluconst(s4 alu_op, stackptr src, instruction *iptr);
+void x86_64_emit_ishift(s4 shift_op, stackptr src, instruction *iptr);
+void x86_64_emit_lshift(s4 shift_op, stackptr src, instruction *iptr);
+void x86_64_emit_ishiftconst(s4 shift_op, stackptr src, instruction *iptr);
+void x86_64_emit_lshiftconst(s4 shift_op, stackptr src, instruction *iptr);
+void x86_64_emit_ifcc(s4 if_op, stackptr src, instruction *iptr);
+void x86_64_emit_if_lcc(s4 if_op, stackptr src, instruction *iptr);
+void x86_64_emit_if_icmpcc(s4 if_op, stackptr src, instruction *iptr);
+void x86_64_emit_if_lcmpcc(s4 if_op, stackptr src, instruction *iptr);
+
+
+
 #if 0
 
 /*