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);