Sorry the previous core.jit patch for sun contained a typo. The correct
patch file is attached here again.
Thanks!
Stephane

On Sun, Sep 26, 2004 at 02:40:29AM -0700, Leopold Toetsch wrote:
> The integer and number variants of these opcodes could need JIT support.
Index: jit/sun4/core.jit
===================================================================
RCS file: /cvs/public/parrot/jit/sun4/core.jit,v
retrieving revision 1.7
diff -u -r1.7 core.jit
--- jit/sun4/core.jit   25 Sep 2004 14:44:22 -0000      1.7
+++ jit/sun4/core.jit   2 Oct 2004 11:50:59 -0000
@@ -197,11 +197,11 @@
         jit_emit_store_i(jit_info, interpreter, 1, arg1);
     }
 }
-                                                                                      
                     
+
 Parrot_inc_i {
     Parrot_incdec_i s/<op>/add/
 }
-                                                                                      
                     
+
 Parrot_dec_i {
     Parrot_incdec_i s/<op>/sub/
 }
@@ -701,6 +701,131 @@
     Parrot_cmp_ix_ix_ic  s/<a>/bge/
 }
 
+TEMPLATE Parrot_iscmp_ix_ix_ix {
+    if(MAP[2] && MAP[3]){
+        emitm_subcc_r(NATIVECODE, MAP[2], MAP[3], emitm_g(0));
+    }
+    else if (MAP[2]) {
+        jit_emit_load_i(jit_info, interpreter, 3, ISR2);
+        emitm_subcc_r(NATIVECODE, MAP[2], ISR2, emitm_g(0));
+    }
+    else if (MAP[3]) {
+        jit_emit_load_i(jit_info, interpreter, 2, ISR1);
+        emitm_subcc_r(NATIVECODE, ISR1, MAP[3], emitm_g(0));
+    }
+    else {
+        jit_emit_load_i(jit_info, interpreter, 2, ISR1);
+        jit_emit_load_i(jit_info, interpreter, 3, ISR2);
+        emitm_subcc_r(NATIVECODE, ISR1, ISR2, emitm_g(0));
+    }
+
+    emitm_bicc(NATIVECODE, 1, emitm_<a>, 3);
+
+    if(MAP[1]){
+        emitm_mov_i(NATIVECODE, 1, MAP[1]);
+        emitm_or_r(NATIVECODE, emitm_g(0), emitm_g(0), MAP[1]);
+    } else {
+        jit_emit_store_i(jit_info, interpreter, 1, 1);
+        jit_emit_store_i(jit_info, interpreter, 1, 0);
+    }
+}
+
+Parrot_isgt_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bg/
+}
+
+Parrot_isgt_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bg/
+}
+
+Parrot_isgt_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bg/
+}
+
+Parrot_isgt_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bg/
+}
+
+Parrot_isge_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bge/
+}
+
+Parrot_isge_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bge/
+}
+
+Parrot_isge_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bge/
+}
+
+Parrot_isge_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bge/
+}
+
+Parrot_isle_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/ble/
+}
+
+Parrot_isle_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/ble/
+}
+
+Parrot_isle_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/ble/
+}
+
+Parrot_isle_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/ble/
+}
+
+Parrot_islt_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bl/
+}
+
+Parrot_islt_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bl/
+}
+
+Parrot_islt_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bl/
+}
+
+Parrot_islt_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bl/
+}
+
+Parrot_iseq_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/be/
+}
+
+Parrot_iseq_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/be/
+}
+
+Parrot_iseq_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/be/
+}
+
+Parrot_iseq_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/be/
+}
+
+Parrot_isne_i_i_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bne/
+}
+
+Parrot_isne_i_ic_i {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bne/
+}
+
+Parrot_isne_i_i_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bne/
+}
+
+Parrot_isne_i_ic_ic {
+    Parrot_iscmp_ix_ix_ix  s/<a>/bne/
+}
+
 /*
  * Local variables:
  * c-indentation-style: bsd

Reply via email to