changeset 13587:40e81cba9e08

renamed movzx/movsx instructions; removed duplicate movswl; added movzbl
author twisti
date Thu, 09 Jan 2014 20:14:11 -0800
parents 7737fbb055b0
children 8aee7169dbe4
files graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64CharArrayEqualsOp.java graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java
diffstat 5 files changed, 20 insertions(+), 21 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java	Thu Jan 09 20:04:55 2014 -0800
+++ b/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64Assembler.java	Thu Jan 09 20:14:11 2014 -0800
@@ -787,7 +787,6 @@
             emitByte(0x70 | cc.getValue());
             emitByte((int) ((disp - shortSize) & 0xFF));
         } else {
-
             l.addPatchAt(codeBuffer.position());
             emitByte(0x70 | cc.getValue());
             emitByte(0);
@@ -1021,14 +1020,14 @@
         }
     }
 
-    public final void movsxb(Register dst, AMD64Address src) {
+    public final void movsbl(Register dst, AMD64Address src) {
         prefix(src, dst);
         emitByte(0x0F);
         emitByte(0xBE);
         emitOperandHelper(dst, src);
     }
 
-    public final void movsxb(Register dst, Register src) {
+    public final void movsbl(Register dst, Register src) {
         int encode = prefixAndEncode(dst.encoding, src.encoding, true);
         emitByte(0x0F);
         emitByte(0xBE);
@@ -1098,20 +1097,13 @@
         emitOperandHelper(dst, src);
     }
 
-    public final void movsxw(Register dst, Register src) {
+    public final void movswl(Register dst, Register src) {
         int encode = prefixAndEncode(dst.encoding, src.encoding);
         emitByte(0x0F);
         emitByte(0xBF);
         emitByte(0xC0 | encode);
     }
 
-    public final void movsxw(Register dst, AMD64Address src) {
-        prefix(src, dst);
-        emitByte(0x0F);
-        emitByte(0xBF);
-        emitOperandHelper(dst, src);
-    }
-
     public final void movw(AMD64Address dst, int imm16) {
         emitByte(0x66); // switch to 16-bit mode
         prefix(dst);
@@ -1127,7 +1119,14 @@
         emitOperandHelper(src, dst);
     }
 
-    public final void movzxl(Register dst, AMD64Address src) {
+    public final void movzbl(Register dst, AMD64Address src) {
+        prefix(src, dst);
+        emitByte(0x0F);
+        emitByte(0xB6);
+        emitOperandHelper(dst, src);
+    }
+
+    public final void movzwl(Register dst, AMD64Address src) {
         prefix(src, dst);
         emitByte(0x0F);
         emitByte(0xB7);
--- a/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java	Thu Jan 09 20:04:55 2014 -0800
+++ b/graal/com.oracle.graal.asm.amd64/src/com/oracle/graal/asm/amd64/AMD64MacroAssembler.java	Thu Jan 09 20:14:11 2014 -0800
@@ -168,7 +168,7 @@
     }
 
     public final void signExtendShort(Register reg) {
-        movsxw(reg, reg);
+        movswl(reg, reg);
     }
 
     public void movflt(Register dst, Register src) {
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java	Thu Jan 09 20:04:55 2014 -0800
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Arithmetic.java	Thu Jan 09 20:14:11 2014 -0800
@@ -496,10 +496,10 @@
                     break;
 
                 case I2B:
-                    masm.movsxb(asIntReg(dst), asIntReg(src));
+                    masm.movsbl(asIntReg(dst), asIntReg(src));
                     break;
                 case I2S:
-                    masm.movsxw(asIntReg(dst), asIntReg(src));
+                    masm.movswl(asIntReg(dst), asIntReg(src));
                     break;
                 case I2L:
                     masm.movslq(asLongReg(dst), asIntReg(src));
@@ -756,10 +756,10 @@
                     break;
 
                 case I2B:
-                    masm.movsxb(asIntReg(dst), (AMD64Address) crb.asIntAddr(src));
+                    masm.movsbl(asIntReg(dst), (AMD64Address) crb.asIntAddr(src));
                     break;
                 case I2S:
-                    masm.movsxw(asIntReg(dst), (AMD64Address) crb.asIntAddr(src));
+                    masm.movswl(asIntReg(dst), (AMD64Address) crb.asIntAddr(src));
                     break;
                 case I2L:
                     masm.movslq(asLongReg(dst), (AMD64Address) crb.asIntAddr(src));
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64CharArrayEqualsOp.java	Thu Jan 09 20:04:55 2014 -0800
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64CharArrayEqualsOp.java	Thu Jan 09 20:14:11 2014 -0800
@@ -145,8 +145,8 @@
         masm.bind(compareChar);
         masm.testl(result, 0x2); // tail char
         masm.jccb(ConditionFlag.Zero, trueLabel);
-        masm.movzxl(temp, new AMD64Address(array1, 0));
-        masm.movzxl(length, new AMD64Address(array2, 0));
+        masm.movzwl(temp, new AMD64Address(array1, 0));
+        masm.movzwl(length, new AMD64Address(array2, 0));
         masm.cmpl(temp, length);
         masm.jccb(ConditionFlag.NotEqual, falseLabel);
 
--- a/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java	Thu Jan 09 20:04:55 2014 -0800
+++ b/graal/com.oracle.graal.lir.amd64/src/com/oracle/graal/lir/amd64/AMD64Move.java	Thu Jan 09 20:14:11 2014 -0800
@@ -140,10 +140,10 @@
             switch (kind) {
                 case Boolean:
                 case Byte:
-                    masm.movsxb(asRegister(result), address.toAddress());
+                    masm.movsbl(asRegister(result), address.toAddress());
                     break;
                 case Char:
-                    masm.movzxl(asRegister(result), address.toAddress());
+                    masm.movzwl(asRegister(result), address.toAddress());
                     break;
                 case Short:
                     masm.movswl(asRegister(result), address.toAddress());