# HG changeset patch # User Stefan Anzinger # Date 1405480281 25200 # Node ID 98686250ed4691400e5cd2c558385d78b7de6d41 # Parent 22ae26714321a82c0d32f64417887d2247d6fb20 [SPARC] Fixing structure of fpops to avoid javac/findbugs complaints diff -r 22ae26714321 -r 98686250ed46 graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java --- a/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Tue Jul 15 19:42:36 2014 -0700 +++ b/graal/com.oracle.graal.asm.sparc/src/com/oracle/graal/asm/sparc/SPARCAssembler.java Tue Jul 15 20:11:21 2014 -0700 @@ -589,15 +589,31 @@ } public static class Fmt3n { - - public Fmt3n(SPARCAssembler masm, int op, int op3, int opf, int rs2, int rd) { + private int op; + private int op3; + private int opf; + private int rs2; + private int rd; + + public Fmt3n(int op, int op3, int opf, int rs2, int rd) { + this.op = op; + this.op3 = op3; + this.opf = opf; + this.rs2 = rs2; + this.rd = rd; + } + + public void emit(SPARCAssembler masm) { + verify(); + masm.emitInt(op << 30 | rd << 25 | op3 << 19 | opf << 5 | rs2); + } + + public void verify() { assert op == 2 || op == 3; assert op3 >= 0 && op3 < 0x40; assert opf >= 0 && opf < 0x200; assert rs2 >= 0 && rs2 < 0x20; assert rd >= 0 && rd < 0x20; - - masm.emitInt(op << 30 | rd << 25 | op3 << 19 | opf << 5 | rs2); } } @@ -2220,22 +2236,22 @@ public static class Cmask8 extends Fmt3n { - public Cmask8(SPARCAssembler asm, Register src2) { - super(asm, Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask8.getValue(), src2.encoding(), 0); + public Cmask8(Register src2) { + super(Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask8.getValue(), src2.encoding(), 0); } } public static class Cmask16 extends Fmt3n { - public Cmask16(SPARCAssembler asm, Register src2) { - super(asm, Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask16.getValue(), src2.encoding(), 0); + public Cmask16(Register src2) { + super(Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask16.getValue(), src2.encoding(), 0); } } public static class Cmask32 extends Fmt3n { - public Cmask32(SPARCAssembler asm, Register src2) { - super(asm, Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask32.getValue(), src2.encoding(), 0); + public Cmask32(Register src2) { + super(Ops.ArithOp.getValue(), Op3s.Impdep1.getValue(), Opfs.Cmask32.getValue(), src2.encoding(), 0); } } @@ -2870,15 +2886,15 @@ public static class Fnegs extends Fmt3n { - public Fnegs(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegs.getValue(), src2.encoding(), dst.encoding()); + public Fnegs(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegs.getValue(), src2.encoding(), dst.encoding()); } } public static class Fnegd extends Fmt3n { - public Fnegd(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegd.getValue(), src2.encoding(), dst.encoding()); + public Fnegd(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fnegd.getValue(), src2.encoding(), dst.encoding()); } } @@ -2952,29 +2968,29 @@ public static class Fstoi extends Fmt3n { - public Fstoi(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstoi.getValue(), src2.encoding(), dst.encoding()); + public Fstoi(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstoi.getValue(), src2.encoding(), dst.encoding()); } } public static class Fstox extends Fmt3n { - public Fstox(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstox.getValue(), src2.encoding(), dst.encoding()); + public Fstox(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstox.getValue(), src2.encoding(), dst.encoding()); } } public static class Fdtox extends Fmt3n { - public Fdtox(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtox.getValue(), src2.encoding(), dst.encoding()); + public Fdtox(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtox.getValue(), src2.encoding(), dst.encoding()); } } public static class Fstod extends Fmt3n { - public Fstod(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstod.getValue(), src2.encoding(), dst.encoding()); + public Fstod(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fstod.getValue(), src2.encoding(), dst.encoding()); } } @@ -2983,29 +2999,29 @@ */ public static class Fdtoi extends Fmt3n { - public Fdtoi(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtoi.getValue(), src2.encoding(), dst.encoding()); + public Fdtoi(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fdtoi.getValue(), src2.encoding(), dst.encoding()); } } 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()); + public Fitos(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fitos.getValue(), src2.encoding(), dst.encoding()); } } public static class Fitod extends Fmt3n { - public Fitod(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fitod.getValue(), src2.encoding(), dst.encoding()); + public Fitod(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fitod.getValue(), src2.encoding(), dst.encoding()); } } public static class Fxtod extends Fmt3n { - public Fxtod(SPARCAssembler masm, Register src2, Register dst) { - super(masm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fxtod.getValue(), src2.encoding(), dst.encoding()); + public Fxtod(Register src2, Register dst) { + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fxtod.getValue(), src2.encoding(), dst.encoding()); } } @@ -3196,17 +3212,17 @@ public static class Fzeros extends Fmt3n { - public Fzeros(SPARCAssembler asm, Register dst) { + public Fzeros(Register dst) { /* VIS1 only */ - super(asm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fzeros.getValue(), 0, dst.encoding()); + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fzeros.getValue(), 0, dst.encoding()); } } public static class Fzerod extends Fmt3n { - public Fzerod(SPARCAssembler asm, Register dst) { + public Fzerod(Register dst) { /* VIS1 only */ - super(asm, Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fzerod.getValue(), 0, dst.encoding()); + super(Ops.ArithOp.getValue(), Op3s.Fpop1.getValue(), Opfs.Fzerod.getValue(), 0, dst.encoding()); } } diff -r 22ae26714321 -r 98686250ed46 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Tue Jul 15 19:42:36 2014 -0700 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Tue Jul 15 20:11:21 2014 -0700 @@ -602,7 +602,6 @@ } } - @SuppressWarnings("unused") public static void emit(CompilationResultBuilder crb, SPARCAssembler masm, SPARCArithmetic opcode, Value dst, Value src, LIRFrameState info) { int exceptionOffset = -1; if (isRegister(src)) { @@ -625,9 +624,9 @@ case L2D: if (src.getPlatformKind() == Kind.Long) { new Movxtod(asLongReg(src), asDoubleReg(dst)).emit(masm); - new Fxtod(masm, asDoubleReg(dst), asDoubleReg(dst)); + new Fxtod(asDoubleReg(dst), asDoubleReg(dst)).emit(masm); } else if (src.getPlatformKind() == Kind.Double) { - new Fxtod(masm, asDoubleReg(src), asDoubleReg(dst)); + new Fxtod(asDoubleReg(src), asDoubleReg(dst)).emit(masm); } else { throw GraalInternalError.shouldNotReachHere("cannot handle source register " + src.getPlatformKind()); } @@ -657,49 +656,49 @@ case I2F: if (src.getPlatformKind() == Kind.Int) { new Movwtos(asIntReg(src), asFloatReg(dst)).emit(masm); - new Fitos(masm, asFloatReg(dst), asFloatReg(dst)); + new Fitos(asFloatReg(dst), asFloatReg(dst)).emit(masm); } else if (src.getPlatformKind() == Kind.Float) { - new Fitos(masm, asFloatReg(src), asFloatReg(dst)); + new Fitos(asFloatReg(src), asFloatReg(dst)).emit(masm); } else { throw GraalInternalError.shouldNotReachHere("cannot handle source register " + src.getPlatformKind()); } break; case F2D: - new Fstod(masm, asFloatReg(src), asDoubleReg(dst)); + new Fstod(asFloatReg(src), asDoubleReg(dst)).emit(masm); break; case F2L: new Fcmp(CC.Fcc0, Opfs.Fcmps, asFloatReg(dst), asFloatReg(dst)).emit(masm); new Fbe(false, 4).emit(masm); - new Fstox(masm, asFloatReg(src), asFloatReg(dst)); - new Fitos(masm, asFloatReg(dst), asFloatReg(dst)); + new Fstox(asFloatReg(src), asFloatReg(dst)).emit(masm); + new Fitos(asFloatReg(dst), asFloatReg(dst)).emit(masm); new Fsubs(asFloatReg(dst), asFloatReg(dst), asFloatReg(dst)).emit(masm); break; case F2I: new Fcmp(CC.Fcc0, Opfs.Fcmps, asFloatReg(dst), asFloatReg(dst)).emit(masm); new Fbo(false, 4).emit(masm); - new Fstoi(masm, asFloatReg(src), asFloatReg(dst)); - new Fitos(masm, asFloatReg(dst), asFloatReg(dst)); + new Fstoi(asFloatReg(src), asFloatReg(dst)).emit(masm); + new Fitos(asFloatReg(dst), asFloatReg(dst)).emit(masm); new Fsubs(asFloatReg(dst), asFloatReg(dst), asFloatReg(dst)).emit(masm); break; case D2L: new Fcmp(CC.Fcc0, Opfs.Fcmpd, asDoubleReg(dst), asDoubleReg(dst)).emit(masm); new Fbo(false, 4).emit(masm); - new Fdtox(masm, asDoubleReg(src), asDoubleReg(dst)); - new Fxtod(masm, asDoubleReg(dst), asDoubleReg(dst)); + new Fdtox(asDoubleReg(src), asDoubleReg(dst)).emit(masm); + new Fxtod(asDoubleReg(dst), asDoubleReg(dst)).emit(masm); new Fsubd(asDoubleReg(dst), asDoubleReg(dst), asDoubleReg(dst)).emit(masm); break; case D2I: new Fcmp(CC.Fcc0, Opfs.Fcmpd, asDoubleReg(dst), asDoubleReg(dst)).emit(masm); new Fbo(false, 4).emit(masm); - new Fdtoi(masm, asDoubleReg(src), asDoubleReg(dst)); - new Fitod(masm, asDoubleReg(dst), asDoubleReg(dst)); + new Fdtoi(asDoubleReg(src), asDoubleReg(dst)).emit(masm); + new Fitod(asDoubleReg(dst), asDoubleReg(dst)).emit(masm); new Fsubd(asDoubleReg(dst), asDoubleReg(dst), asDoubleReg(dst)).emit(masm); break; case FNEG: - new Fnegs(masm, asFloatReg(src), asFloatReg(dst)); + new Fnegs(asFloatReg(src), asFloatReg(dst)).emit(masm); break; case DNEG: - new Fnegd(masm, asDoubleReg(src), asDoubleReg(dst)); + new Fnegd(asDoubleReg(src), asDoubleReg(dst)).emit(masm); break; default: throw GraalInternalError.shouldNotReachHere("missing: " + opcode); diff -r 22ae26714321 -r 98686250ed46 graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java --- a/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java Tue Jul 15 19:42:36 2014 -0700 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCMove.java Tue Jul 15 20:11:21 2014 -0700 @@ -422,7 +422,7 @@ new Fmovs(src, dst).emit(masm); break; case Double: - new Fstod(masm, src, dst); + new Fstod(src, dst).emit(masm); break; default: throw GraalInternalError.shouldNotReachHere();