10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 /**
26 * @test
27 * @bug 8031321
28 * @summary Verify that results of computations are the same w/
29 * and w/o usage of intrinsic
30 * @library /testlibrary /test/lib
31 * @modules java.base/jdk.internal.misc
32 * java.management
33 * @build TestLzcntL BMITestRunner Expr
34 * @run main ClassFileInstaller sun.hotspot.WhiteBox
35 * sun.hotspot.WhiteBox$WhiteBoxPermission
36 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
37 * -XX:+WhiteBoxAPI TestLzcntL
38 */
39
40 import sun.hotspot.cpuinfo.CPUInfo;
41
42 public class TestLzcntL {
43
44 public static void main(String args[]) throws Throwable {
45 if (!CPUInfo.hasFeature("lzcnt")) {
46 System.out.println("INFO: CPU does not support lzcnt feature.");
47 }
48
49 BMITestRunner.runTests(LzcntLExpr.class, args,
50 "-XX:+IgnoreUnrecognizedVMOptions",
51 "-XX:+UseCountLeadingZerosInstruction");
52 }
53
54 public static class LzcntLExpr extends Expr.BitCountingLongExpr {
55
56 public long longExpr(long src) {
57 return Long.numberOfLeadingZeros(src);
58 }
59
|
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12 * version 2 for more details (a copy is included in the LICENSE file that
13 * accompanied this code).
14 *
15 * You should have received a copy of the GNU General Public License version
16 * 2 along with this work; if not, write to the Free Software Foundation,
17 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18 *
19 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 /**
26 * @test
27 * @bug 8031321
28 * @summary Verify that results of computations are the same w/
29 * and w/o usage of intrinsic
30 * @library /testlibrary /test/lib /
31 * @modules java.base/jdk.internal.misc
32 * java.management
33 *
34 * @build compiler.intrinsics.bmi.TestLzcntL
35 * @run driver ClassFileInstaller sun.hotspot.WhiteBox
36 * sun.hotspot.WhiteBox$WhiteBoxPermission
37 * @run main/othervm -Xbootclasspath/a:. -XX:+UnlockDiagnosticVMOptions
38 * -XX:+WhiteBoxAPI
39 * compiler.intrinsics.bmi.TestLzcntL
40 */
41
42 package compiler.intrinsics.bmi;
43
44 import sun.hotspot.cpuinfo.CPUInfo;
45
46 public class TestLzcntL {
47
48 public static void main(String args[]) throws Throwable {
49 if (!CPUInfo.hasFeature("lzcnt")) {
50 System.out.println("INFO: CPU does not support lzcnt feature.");
51 }
52
53 BMITestRunner.runTests(LzcntLExpr.class, args,
54 "-XX:+IgnoreUnrecognizedVMOptions",
55 "-XX:+UseCountLeadingZerosInstruction");
56 }
57
58 public static class LzcntLExpr extends Expr.BitCountingLongExpr {
59
60 public long longExpr(long src) {
61 return Long.numberOfLeadingZeros(src);
62 }
63
|