src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.amd64/src/org/graalvm/compiler/core/amd64/AMD64ArithmeticLIRGenerator.java
changeset 58299 6df94ce3ab2f
parent 57537 ecc6e394475f
child 58679 9c3209ff7550
equal deleted inserted replaced
58298:0152ad7b38b8 58299:6df94ce3ab2f
   122 import org.graalvm.compiler.lir.amd64.AMD64MulDivOp;
   122 import org.graalvm.compiler.lir.amd64.AMD64MulDivOp;
   123 import org.graalvm.compiler.lir.amd64.AMD64ShiftOp;
   123 import org.graalvm.compiler.lir.amd64.AMD64ShiftOp;
   124 import org.graalvm.compiler.lir.amd64.AMD64SignExtendOp;
   124 import org.graalvm.compiler.lir.amd64.AMD64SignExtendOp;
   125 import org.graalvm.compiler.lir.amd64.AMD64Ternary;
   125 import org.graalvm.compiler.lir.amd64.AMD64Ternary;
   126 import org.graalvm.compiler.lir.amd64.AMD64Unary;
   126 import org.graalvm.compiler.lir.amd64.AMD64Unary;
   127 import org.graalvm.compiler.lir.amd64.AMD64ZeroMemoryOp;
       
   128 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary;
   127 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary;
   129 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary.AVXBinaryConstFloatOp;
   128 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary.AVXBinaryConstFloatOp;
   130 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary.AVXBinaryOp;
   129 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorBinary.AVXBinaryOp;
   131 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary;
   130 import org.graalvm.compiler.lir.amd64.vector.AMD64VectorUnary;
   132 import org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator;
   131 import org.graalvm.compiler.lir.gen.ArithmeticLIRGenerator;
  1126     }
  1125     }
  1127 
  1126 
  1128     @Override
  1127     @Override
  1129     public Value emitMathPow(Value x, Value y) {
  1128     public Value emitMathPow(Value x, Value y) {
  1130         return new AMD64MathPowOp().emitLIRWrapper(getLIRGen(), x, y);
  1129         return new AMD64MathPowOp().emitLIRWrapper(getLIRGen(), x, y);
  1131     }
       
  1132 
       
  1133     @Override
       
  1134     public void emitZeroMemory(Value address, Value length) {
       
  1135         RegisterValue lengthReg = moveToReg(AMD64.rcx, length);
       
  1136         getLIRGen().append(new AMD64ZeroMemoryOp(getAMD64LIRGen().asAddressValue(address), lengthReg));
       
  1137     }
  1130     }
  1138 
  1131 
  1139     protected AMD64LIRGenerator getAMD64LIRGen() {
  1132     protected AMD64LIRGenerator getAMD64LIRGen() {
  1140         return (AMD64LIRGenerator) getLIRGen();
  1133         return (AMD64LIRGenerator) getLIRGen();
  1141     }
  1134     }