comparison 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
comparison
equal deleted inserted replaced
16314:f57cf459f5d3 16315:b955d649fca8
1179 Fnmuls(0x59, "fnmuls"), 1179 Fnmuls(0x59, "fnmuls"),
1180 Fnmuld(0x5A, "fnmuld"), 1180 Fnmuld(0x5A, "fnmuld"),
1181 Fnsmuld(0x79, "fnsmuld"), 1181 Fnsmuld(0x79, "fnsmuld"),
1182 Fnhadds(0x71, "fnhadds"), 1182 Fnhadds(0x71, "fnhadds"),
1183 Fnhaddd(0x72, "fnhaddd"), 1183 Fnhaddd(0x72, "fnhaddd"),
1184 Movtos(0x119, "movtos"),
1184 // end VIS3 1185 // end VIS3
1185 1186
1186 // start CAMMELLIA 1187 // start CAMMELLIA
1187 CammelliaFl(0x13C, "cammelia_fl"), 1188 CammelliaFl(0x13C, "cammelia_fl"),
1188 CammelliaFli(0x13D, "cammellia_fli"), 1189 CammelliaFli(0x13D, "cammellia_fli"),
1226 Fsmuld(0x69, "fsmuld"), 1227 Fsmuld(0x69, "fsmuld"),
1227 Fmulq(0x6B, "fmulq"), 1228 Fmulq(0x6B, "fmulq"),
1228 Fdmuldq(0x6E, "fdmulq"), 1229 Fdmuldq(0x6E, "fdmulq"),
1229 1230
1230 Fstoi(0xD1, "fstoi"), 1231 Fstoi(0xD1, "fstoi"),
1231 Fdtoi(0xD2, "fdtoi"); 1232 Fdtoi(0xD2, "fdtoi"),
1233 Fitos(0xC4, "fitos");
1232 // @formatter:on 1234 // @formatter:on
1233 1235
1234 private final int value; 1236 private final int value;
1235 private final String operator; 1237 private final String operator;
1236 1238
1665 /* VIS2 only */ 1667 /* VIS2 only */
1666 super(Ops.ArithOp, Op3s.Impdep1, Opfs.Bmask, src1, src2, dst); 1668 super(Ops.ArithOp, Op3s.Impdep1, Opfs.Bmask, src1, src2, dst);
1667 } 1669 }
1668 } 1670 }
1669 1671
1672 public static class Movwtos extends Fmt3p {
1673 public Movwtos(Register src, Register dst) {
1674 /* VIS3 only */
1675 super(Ops.ArithOp, Op3s.Impdep1, Opfs.Movtos, g0, src, dst);
1676 }
1677 }
1678
1670 public static class Bpa extends Fmt00c { 1679 public static class Bpa extends Fmt00c {
1671 1680
1672 public Bpa(int simm19) { 1681 public Bpa(int simm19) {
1673 super(0, ConditionFlag.Always, Op2s.Bp, CC.Icc, 1, simm19); 1682 super(0, ConditionFlag.Always, Op2s.Bp, CC.Icc, 1, simm19);
1674 } 1683 }
2635 public Fdtoi(SPARCAssembler masm, Register src2, Register dst) { 2644 public Fdtoi(SPARCAssembler masm, Register src2, Register dst) {
2636 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtoi.getValue(), src2.encoding(), dst.encoding()); 2645 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtoi.getValue(), src2.encoding(), dst.encoding());
2637 } 2646 }
2638 } 2647 }
2639 2648
2649 public static class Fitos extends Fmt3n {
2650
2651 public Fitos(SPARCAssembler masm, Register src2, Register dst) {
2652 super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fitos.getValue(), src2.encoding(), dst.encoding());
2653 }
2654 }
2655
2640 /** 2656 /**
2641 * Flush register windows 2657 * Flush register windows
2642 */ 2658 */
2643 public static class Flushw extends Fmt10 { 2659 public static class Flushw extends Fmt10 {
2644 2660
2860 } 2876 }
2861 2877
2862 public static class Ldf extends Fmt11 { 2878 public static class Ldf extends Fmt11 {
2863 2879
2864 public Ldf(SPARCAddress src, Register dst) { 2880 public Ldf(SPARCAddress src, Register dst) {
2881 super(Op3s.Ldf, src, dst);
2882 }
2883
2884 public Ldf(Register src, Register dst) {
2865 super(Op3s.Ldf, src, dst); 2885 super(Op3s.Ldf, src, dst);
2866 } 2886 }
2867 } 2887 }
2868 2888
2869 public static class Ldsb extends Fmt11 { 2889 public static class Ldsb extends Fmt11 {