aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Serov <artem.serov@linaro.org>2020-02-13 20:33:19 +0000
committerArtem Serov <artem.serov@linaro.org>2020-02-13 20:33:19 +0000
commit61d06ad8cde579e93e462f81d515c05e2fe67bb2 (patch)
tree5d972d0b5672008d7c7ded4cdce2007409c5f6df
parentee28701ba925574dffcbf2b234246f5b0bcc1307 (diff)
downloadart-testing-61d06ad8cde579e93e462f81d515c05e2fe67bb2.tar.gz
Add FP isInfinite() intrinsics benchmarks.
Test: N/A. Change-Id: Ic624beed59e06b2814e7d71f30f3f7b708d0330f
-rw-r--r--benchmarks/micro/intrinsics/Intrinsics.java22
1 files changed, 22 insertions, 0 deletions
diff --git a/benchmarks/micro/intrinsics/Intrinsics.java b/benchmarks/micro/intrinsics/Intrinsics.java
index 5feb879..2994789 100644
--- a/benchmarks/micro/intrinsics/Intrinsics.java
+++ b/benchmarks/micro/intrinsics/Intrinsics.java
@@ -286,6 +286,25 @@ public class Intrinsics {
}
}
+ private static int[] resultsFloatIsInfinite = new int[NUM_INVOKES];
+ private static int[] resultsDoubleIsInfinite = new int[NUM_INVOKES];
+
+ public void timeFloatIsInfinite(int iterations) {
+ for (int iter = 0; iter < iterations; ++iter) {
+ for (int i = 0; i < NUM_INVOKES; ++i) {
+ resultsFloatIsInfinite[i] = Float.isInfinite((float)i) ? 0 : i;
+ }
+ }
+ }
+
+ public void timeDoubleIsInfinite(int iterations) {
+ for (int iter = 0; iter < iterations; ++iter) {
+ for (int i = 0; i < NUM_INVOKES; ++i) {
+ resultsDoubleIsInfinite[i] = Double.isInfinite((double)i) ? 0 : i;
+ }
+ }
+ }
+
/**
* Verify.
**/
@@ -326,6 +345,9 @@ public class Intrinsics {
obj.timeBitCountIntegerRandom(100000);
obj.timeBitCountLongRandom(100000);
+ obj.timeFloatIsInfinite(100000);
+ obj.timeDoubleIsInfinite(100000);
+
long after = System.currentTimeMillis();
System.out.println("benchmarks/micro/intrinsics/Intrinsics: " + (after - before));
}