Print this page
*** NO COMMENTS ***


  28  *          and w/o usage of intrinsic
  29  * @library /test/lib /
  30  * @modules java.base/jdk.internal.misc
  31  *          java.management
  32  *
  33  * @build sun.hotspot.WhiteBox
  34  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  35  *                                sun.hotspot.WhiteBox$WhiteBoxPermission
  36  * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  37  *                   -XX:+WhiteBoxAPI
  38  *                   compiler.intrinsics.bmi.TestLzcntI
  39  */
  40 
  41 package compiler.intrinsics.bmi;
  42 
  43 import sun.hotspot.cpuinfo.CPUInfo;
  44 
  45 public class TestLzcntI {
  46 
  47     public static void main(String args[]) throws Throwable {
  48         if (!CPUInfo.hasFeature("lzcnt")) {



  49             System.out.println("INFO: CPU does not support lzcnt feature.");
  50         }
  51 
  52         BMITestRunner.runTests(LzcntIExpr.class, args,
  53                                "-XX:+IgnoreUnrecognizedVMOptions",
  54                                "-XX:+UseCountLeadingZerosInstruction");
  55     }
  56 
  57     public static class LzcntIExpr extends Expr.BitCountingIntExpr {
  58 
  59         public int intExpr(int src) {
  60             return Integer.numberOfLeadingZeros(src);
  61         }
  62 
  63     }
  64 
  65 }


  28  *          and w/o usage of intrinsic
  29  * @library /test/lib /
  30  * @modules java.base/jdk.internal.misc
  31  *          java.management
  32  *
  33  * @build sun.hotspot.WhiteBox
  34  * @run driver ClassFileInstaller sun.hotspot.WhiteBox
  35  *                                sun.hotspot.WhiteBox$WhiteBoxPermission
  36  * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
  37  *                   -XX:+WhiteBoxAPI
  38  *                   compiler.intrinsics.bmi.TestLzcntI
  39  */
  40 
  41 package compiler.intrinsics.bmi;
  42 
  43 import sun.hotspot.cpuinfo.CPUInfo;
  44 
  45 public class TestLzcntI {
  46 
  47     public static void main(String args[]) throws Throwable {
  48         /*
  49          * SPARC also has lzcnt if it has the VIS3 instruction set.
  50          */
  51         if (!(CPUInfo.hasFeature("lzcnt") || CPUInfo.hasFeature("vis3"))) {
  52             System.out.println("INFO: CPU does not support lzcnt feature.");
  53         }
  54 
  55         BMITestRunner.runTests(LzcntIExpr.class, args,
  56                                "-XX:+IgnoreUnrecognizedVMOptions",
  57                                "-XX:+UseCountLeadingZerosInstruction");
  58     }
  59 
  60     public static class LzcntIExpr extends Expr.BitCountingIntExpr {
  61 
  62         public int intExpr(int src) {
  63             return Integer.numberOfLeadingZeros(src);
  64         }
  65 
  66     }
  67 
  68 }