8294198: Implement isFinite intrinsic for RISC-V

Reviewed-by: fyang, kvn
This commit is contained in:
Aleksei Voitylov 2022-09-29 18:51:38 +00:00 committed by Vladimir Kozlov
parent 5f6ad926d7
commit aeef3ecdc4
17 changed files with 316 additions and 48 deletions

View file

@ -102,4 +102,29 @@ public class DoubleClassCheck {
}
}
@Benchmark
@OperationsPerInvocation(BUFFER_SIZE)
public void testIsFiniteStore() {
for (int i = 0; i < BUFFER_SIZE; i++) {
storeOutputs[i] = Double.isFinite(inputs[i]);
}
}
@Benchmark
@OperationsPerInvocation(BUFFER_SIZE)
public void testIsFiniteCMov() {
for (int i = 0; i < BUFFER_SIZE; i++) {
cmovOutputs[i] = Double.isFinite(inputs[i]) ? 9 : 7;
}
}
@Benchmark
@OperationsPerInvocation(BUFFER_SIZE)
public void testIsFiniteBranch() {
for (int i = 0; i < BUFFER_SIZE; i++) {
cmovOutputs[i] = Double.isFinite(inputs[i]) ? call() : 7;
}
}
}