Mercurial > hg > truffle
changeset 17214:2390886b4e27
[SPARC] use sll and sra over sllx and srax when possible
author | Stefan Anzinger <stefan.anzinger@oracle.com> |
---|---|
date | Thu, 25 Sep 2014 09:40:30 -0700 |
parents | 959d3e75534a |
children | 7a99826863d9 |
files | graal/com.oracle.graal.lir.sparc/src/com/oracle/graal/lir/sparc/SPARCArithmetic.java |
diffstat | 1 files changed, 8 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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);