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 }
|