# HG changeset patch # User Stefan Anzinger # Date 1411663230 25200 # Node ID 2390886b4e2737321f079b4008c3e04f17339c25 # Parent 959d3e75534a695dab3232df3b742cdf38d6d7ca [SPARC] use sll and sra over sllx and srax when possible diff -r 959d3e75534a -r 2390886b4e27 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 Thu Sep 25 08:57:51 2014 -0700 +++ b/graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java Thu Sep 25 09:40:30 2014 -0700 @@ -575,24 +575,24 @@ new Signx(asLongReg(src), asIntReg(dst)).emit(masm); break; case B2L: - new Sllx(asIntReg(src), 56, asLongReg(dst)).emit(masm); + new Sll(asIntReg(src), 24, asLongReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asLongReg(dst), 56, asLongReg(dst)).emit(masm); + new Sra(asLongReg(dst), 24, asLongReg(dst)).emit(masm); break; case B2I: - new Sllx(asIntReg(src), 56, asIntReg(dst)).emit(masm); + new Sll(asIntReg(src), 24, asIntReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asIntReg(dst), 56, asIntReg(dst)).emit(masm); + new Sra(asIntReg(dst), 24, asIntReg(dst)).emit(masm); break; case S2L: - new Sllx(asIntReg(src), 48, asLongReg(dst)).emit(masm); + new Sll(asIntReg(src), 16, asLongReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asLongReg(dst), 48, asLongReg(dst)).emit(masm); + new Sra(asLongReg(dst), 16, asLongReg(dst)).emit(masm); break; case S2I: - new Sllx(asIntReg(src), 48, asIntReg(dst)).emit(masm); + new Sll(asIntReg(src), 16, asIntReg(dst)).emit(masm); delaySlotLir.emitControlTransfer(crb, masm); - new Srax(asIntReg(dst), 48, asIntReg(dst)).emit(masm); + new Sra(asIntReg(dst), 16, asIntReg(dst)).emit(masm); break; case I2F: delaySlotLir.emitControlTransfer(crb, masm);