< prev index next >

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir.amd64/src/org/graalvm/compiler/lir/amd64/AMD64ArithmeticLIRGeneratorTool.java

Print this page
rev 52509 : [mq]: graal


  22  */
  23 
  24 
  25 package org.graalvm.compiler.lir.amd64;
  26 
  27 import org.graalvm.compiler.lir.Variable;
  28 import org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool;
  29 
  30 import jdk.vm.ci.amd64.AMD64Kind;
  31 import jdk.vm.ci.meta.Value;
  32 
  33 /**
  34  * This interface can be used to generate AMD64 LIR for arithmetic operations.
  35  */
  36 public interface AMD64ArithmeticLIRGeneratorTool extends ArithmeticLIRGeneratorTool {
  37 
  38     Value emitCountLeadingZeros(Value value);
  39 
  40     Value emitCountTrailingZeros(Value value);
  41 








  42     enum RoundingMode {
  43         NEAREST(0),
  44         DOWN(1),
  45         UP(2),
  46         TRUNCATE(3);
  47 
  48         public final int encoding;
  49 
  50         RoundingMode(int encoding) {
  51             this.encoding = encoding;
  52         }
  53     }
  54 
  55     Value emitRound(Value value, RoundingMode mode);
  56 
  57     void emitCompareOp(AMD64Kind cmpKind, Variable left, Value right);
  58 }


  22  */
  23 
  24 
  25 package org.graalvm.compiler.lir.amd64;
  26 
  27 import org.graalvm.compiler.lir.Variable;
  28 import org.graalvm.compiler.lir.gen.ArithmeticLIRGeneratorTool;
  29 
  30 import jdk.vm.ci.amd64.AMD64Kind;
  31 import jdk.vm.ci.meta.Value;
  32 
  33 /**
  34  * This interface can be used to generate AMD64 LIR for arithmetic operations.
  35  */
  36 public interface AMD64ArithmeticLIRGeneratorTool extends ArithmeticLIRGeneratorTool {
  37 
  38     Value emitCountLeadingZeros(Value value);
  39 
  40     Value emitCountTrailingZeros(Value value);
  41 
  42     Value emitLogicalAndNot(Value value1, Value value2);
  43 
  44     Value emitLowestSetIsolatedBit(Value value);
  45 
  46     Value emitGetMaskUpToLowestSetBit(Value value);
  47 
  48     Value emitResetLowestSetBit(Value value);
  49 
  50     enum RoundingMode {
  51         NEAREST(0),
  52         DOWN(1),
  53         UP(2),
  54         TRUNCATE(3);
  55 
  56         public final int encoding;
  57 
  58         RoundingMode(int encoding) {
  59             this.encoding = encoding;
  60         }
  61     }
  62 
  63     Value emitRound(Value value, RoundingMode mode);
  64 
  65     void emitCompareOp(AMD64Kind cmpKind, Variable left, Value right);
  66 }
< prev index next >