diff options
author | 2016-03-28 16:44:32 +0100 | |
---|---|---|
committer | 2017-02-02 17:04:03 +0000 | |
commit | c032e74b57d31861b6bb55500016ebb5476eb142 (patch) | |
tree | 044af8b3efe9326245a9f32144a6b23b64ec0e22 /test/082-inline-execute/src | |
parent | 1e6578a68d6f4499362254bcdeb6bbf55e309ea4 (diff) |
Math.min and Math.max intrinsics for ARM
This patch implements min/max intrinsics for:
* Long
* Float
* Double
Test: m test-art-host
Test: m test-art-target
Test: 082-inline-execute
Change-Id: I2dfab8ab606f3d01fba712f9014d2e0617449d74
Diffstat (limited to 'test/082-inline-execute/src')
-rw-r--r-- | test/082-inline-execute/src/Main.java | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/test/082-inline-execute/src/Main.java b/test/082-inline-execute/src/Main.java index fad8a9f100..072f0e68ee 100644 --- a/test/082-inline-execute/src/Main.java +++ b/test/082-inline-execute/src/Main.java @@ -535,6 +535,8 @@ public class Main { Assert.assertEquals(Math.min(0.0f, Float.MAX_VALUE), 0.0f); Assert.assertEquals(Math.min(Float.MIN_VALUE, 0.0f), 0.0f); Assert.assertEquals(Math.min(Float.MIN_VALUE, Float.MAX_VALUE), Float.MIN_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.min(Float.MIN_VALUE, Float.MIN_VALUE), Float.MIN_VALUE); } public static void test_Math_max_F() { @@ -548,8 +550,10 @@ public class Main { Assert.assertEquals(Math.max(1.0f, 0.0f), 1.0f); Assert.assertEquals(Math.max(0.0f, 1.0f), 1.0f); Assert.assertEquals(Math.max(0.0f, Float.MAX_VALUE), Float.MAX_VALUE); - Assert.assertEquals(Math.max(Float.MIN_VALUE, 0.0f), Float.MIN_VALUE); Assert.assertEquals(Math.max(Float.MIN_VALUE, Float.MAX_VALUE), Float.MAX_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.max(Float.MIN_VALUE, 0.0f), Float.MIN_VALUE); + Assert.assertEquals(Math.max(Float.MIN_VALUE, Float.MIN_VALUE), Float.MIN_VALUE); } public static void test_Math_min_D() { @@ -565,6 +569,8 @@ public class Main { Assert.assertEquals(Math.min(0.0d, Double.MAX_VALUE), 0.0d); Assert.assertEquals(Math.min(Double.MIN_VALUE, 0.0d), 0.0d); Assert.assertEquals(Math.min(Double.MIN_VALUE, Double.MAX_VALUE), Double.MIN_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.min(Double.MIN_VALUE, Double.MIN_VALUE), Double.MIN_VALUE); } public static void test_Math_max_D() { @@ -580,6 +586,9 @@ public class Main { Assert.assertEquals(Math.max(0.0d, Double.MAX_VALUE), Double.MAX_VALUE); Assert.assertEquals(Math.max(Double.MIN_VALUE, 0.0d), Double.MIN_VALUE); Assert.assertEquals(Math.max(Double.MIN_VALUE, Double.MAX_VALUE), Double.MAX_VALUE); + // Should not have flush-to-zero behavior. + Assert.assertEquals(Math.max(Double.MIN_VALUE, 0.0d), Double.MIN_VALUE); + Assert.assertEquals(Math.max(Double.MIN_VALUE, Double.MIN_VALUE), Double.MIN_VALUE); } public static void test_Math_sqrt() { |