diff graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java @ 16315:b955d649fca8

Fixing BC_i2f, BC_i2c, BC_fadd Implementing instructions in assembler Movwtos and Fitos
author Stefan Anzinger <stefan.anzinger@gmail.com>
date Mon, 02 Jun 2014 20:40:57 +0200
parents 151fe6b1e511
children 4b24d2019286
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java	Sat May 31 00:30:26 2014 +0200
+++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java	Mon Jun 02 20:40:57 2014 +0200
@@ -1181,6 +1181,7 @@
         Fnsmuld(0x79, "fnsmuld"),
         Fnhadds(0x71, "fnhadds"),
         Fnhaddd(0x72, "fnhaddd"),
+        Movtos(0x119, "movtos"),
         // end VIS3
 
         // start CAMMELLIA
@@ -1228,7 +1229,8 @@
         Fdmuldq(0x6E, "fdmulq"),
 
         Fstoi(0xD1, "fstoi"),
-        Fdtoi(0xD2, "fdtoi");
+        Fdtoi(0xD2, "fdtoi"),
+        Fitos(0xC4, "fitos");
         // @formatter:on
 
         private final int value;
@@ -1667,6 +1669,13 @@
         }
     }
 
+    public static class Movwtos extends Fmt3p {
+        public Movwtos(Register src, Register dst) {
+            /* VIS3 only */
+            super(Ops.ArithOp, Op3s.Impdep1, Opfs.Movtos, g0, src, dst);
+        }
+    }
+
     public static class Bpa extends Fmt00c {
 
         public Bpa(int simm19) {
@@ -2637,6 +2646,13 @@
         }
     }
 
+    public static class Fitos extends Fmt3n {
+
+        public Fitos(SPARCAssembler masm, Register src2, Register dst) {
+            super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fitos.getValue(), src2.encoding(), dst.encoding());
+        }
+    }
+
     /**
      * Flush register windows
      */
@@ -2864,6 +2880,10 @@
         public Ldf(SPARCAddress src, Register dst) {
             super(Op3s.Ldf, src, dst);
         }
+
+        public Ldf(Register src, Register dst) {
+            super(Op3s.Ldf, src, dst);
+        }
     }
 
     public static class Ldsb extends Fmt11 {