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 package org.graalvm.compiler.hotspot.jdk9.test;
26
27 import static org.junit.Assume.assumeTrue;
28
29 import java.util.ArrayList;
30 import java.util.Collection;
31 import java.util.List;
32
33 import org.graalvm.compiler.api.test.Graal;
34 import org.graalvm.compiler.core.test.GraalCompilerTest;
35 import org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider;
36 import org.graalvm.compiler.runtime.RuntimeProvider;
37 import org.graalvm.compiler.test.AddExports;
38 import org.junit.Before;
39 import org.junit.Test;
40 import org.junit.runner.RunWith;
41 import org.junit.runners.Parameterized;
42 import org.junit.runners.Parameterized.Parameter;
43 import org.junit.runners.Parameterized.Parameters;
44
45 import jdk.vm.ci.amd64.AMD64;
46
47 @AddExports({"java.base/java.lang"})
48 @RunWith(Parameterized.class)
49 public final class MathFloatFMATest extends GraalCompilerTest {
50
51 @Before
52 public void checkAMD64() {
53 assumeTrue("skipping AMD64 specific test", getTarget().arch instanceof AMD64);
54 HotSpotGraalRuntimeProvider rt = (HotSpotGraalRuntimeProvider) Graal.getRequiredCapability(RuntimeProvider.class);
55 assumeTrue("skipping FMA specific tests", rt.getVMConfig().useFMAIntrinsics);
56 }
57
58 @Parameters(name = "{0}, {1}, {2}")
59 public static Collection<Object[]> data() {
60 float[] inputs = {0.0f, 1.0f, 4.0f, -0.0f, -1.0f, 4.0f, Float.MIN_VALUE, Float.MAX_VALUE, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY,
61 Float.NaN, Float.intBitsToFloat(0xff800001)};
62
63 List<Object[]> tests = new ArrayList<>();
64 for (float a : inputs) {
65 for (float b : inputs) {
66 for (float c : inputs) {
67 tests.add(new Object[]{a, b, c});
|
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 package org.graalvm.compiler.hotspot.jdk9.test;
26
27 import static org.junit.Assume.assumeTrue;
28
29 import java.util.ArrayList;
30 import java.util.Collection;
31 import java.util.List;
32
33 import org.graalvm.compiler.api.test.Graal;
34 import org.graalvm.compiler.core.test.GraalCompilerTest;
35 import org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider;
36 import org.graalvm.compiler.runtime.RuntimeProvider;
37 import org.junit.Before;
38 import org.junit.Test;
39 import org.junit.runner.RunWith;
40 import org.junit.runners.Parameterized;
41 import org.junit.runners.Parameterized.Parameter;
42 import org.junit.runners.Parameterized.Parameters;
43
44 import jdk.vm.ci.amd64.AMD64;
45
46 @RunWith(Parameterized.class)
47 public final class MathFloatFMATest extends GraalCompilerTest {
48
49 @Before
50 public void checkAMD64() {
51 assumeTrue("skipping AMD64 specific test", getTarget().arch instanceof AMD64);
52 HotSpotGraalRuntimeProvider rt = (HotSpotGraalRuntimeProvider) Graal.getRequiredCapability(RuntimeProvider.class);
53 assumeTrue("skipping FMA specific tests", rt.getVMConfig().useFMAIntrinsics);
54 }
55
56 @Parameters(name = "{0}, {1}, {2}")
57 public static Collection<Object[]> data() {
58 float[] inputs = {0.0f, 1.0f, 4.0f, -0.0f, -1.0f, 4.0f, Float.MIN_VALUE, Float.MAX_VALUE, Float.NEGATIVE_INFINITY, Float.POSITIVE_INFINITY,
59 Float.NaN, Float.intBitsToFloat(0xff800001)};
60
61 List<Object[]> tests = new ArrayList<>();
62 for (float a : inputs) {
63 for (float b : inputs) {
64 for (float c : inputs) {
65 tests.add(new Object[]{a, b, c});
|