mirror of
https://github.com/openjdk/jdk.git
synced 2026-01-28 12:09:14 +00:00
8371920: [TEST] Enable CMove tests on other platforms
Reviewed-by: fyang, epeter
This commit is contained in:
parent
650de99fc6
commit
dc6255261f
@ -36,7 +36,7 @@ import jdk.test.lib.Utils;
|
||||
* @key randomness
|
||||
* @summary Auto-vectorization enhancement to support vector conditional move.
|
||||
* @library /test/lib /
|
||||
* @run driver compiler.c2.irTests.TestConditionalMove
|
||||
* @run driver ${test.main.class}
|
||||
*/
|
||||
|
||||
public class TestConditionalMove {
|
||||
@ -601,7 +601,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVFGT(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] > b[i]) ? a[i] : b[i];
|
||||
@ -619,7 +619,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVFGTSwap(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (b[i] > a[i]) ? a[i] : b[i];
|
||||
@ -637,7 +637,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVFLT(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] < b[i]) ? a[i] : b[i];
|
||||
@ -655,7 +655,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVFLTSwap(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (b[i] < a[i]) ? a[i] : b[i];
|
||||
@ -673,7 +673,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVFEQ(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] == b[i]) ? a[i] : b[i];
|
||||
@ -691,7 +691,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVDLE(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] <= b[i]) ? a[i] : b[i];
|
||||
@ -709,7 +709,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVDLESwap(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (b[i] <= a[i]) ? a[i] : b[i];
|
||||
@ -727,7 +727,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVDGE(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] >= b[i]) ? a[i] : b[i];
|
||||
@ -745,7 +745,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVDGESwap(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (b[i] >= a[i]) ? a[i] : b[i];
|
||||
@ -763,7 +763,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveVDNE(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] != b[i]) ? a[i] : b[i];
|
||||
@ -782,7 +782,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGTforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] > b[i]) ? 0.1f : -0.1f;
|
||||
@ -800,7 +800,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGEforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] >= b[i]) ? 0.1f : -0.1f;
|
||||
@ -818,7 +818,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFLTforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] < b[i]) ? 0.1f : -0.1f;
|
||||
@ -836,7 +836,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFLEforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] <= b[i]) ? 0.1f : -0.1f;
|
||||
@ -854,7 +854,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFEQforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] == b[i]) ? 0.1f : -0.1f;
|
||||
@ -872,7 +872,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFNEQforFConst(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] != b[i]) ? 0.1f : -0.1f;
|
||||
@ -896,7 +896,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFLTforFConstH2(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] < b[i+0]) ? 0.1f : -0.1f;
|
||||
@ -925,7 +925,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFLEforFConstH2(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] <= b[i+0]) ? 0.1f : -0.1f;
|
||||
@ -948,7 +948,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFYYforFConstH2(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] <= b[i+0]) ? 0.1f : -0.1f;
|
||||
@ -967,7 +967,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFXXforFConstH2(float[] a, float[] b, float[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] < b[i+0]) ? 0.1f : -0.1f;
|
||||
@ -986,7 +986,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDGTforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] > b[i]) ? 0.1 : -0.1;
|
||||
@ -1004,7 +1004,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDGEforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] >= b[i]) ? 0.1 : -0.1;
|
||||
@ -1022,7 +1022,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDLTforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] < b[i]) ? 0.1 : -0.1;
|
||||
@ -1040,7 +1040,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDLEforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] <= b[i]) ? 0.1 : -0.1;
|
||||
@ -1058,7 +1058,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDEQforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] == b[i]) ? 0.1 : -0.1;
|
||||
@ -1076,7 +1076,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDNEQforDConst(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
c[i] = (a[i] != b[i]) ? 0.1 : -0.1;
|
||||
@ -1094,7 +1094,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDLTforDConstH2(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] < b[i+0]) ? 0.1 : -0.1;
|
||||
@ -1113,7 +1113,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDLEforDConstH2(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] <= b[i+0]) ? 0.1 : -0.1;
|
||||
@ -1132,7 +1132,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDYYforDConstH2(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] <= b[i+0]) ? 0.1 : -0.1;
|
||||
@ -1151,7 +1151,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDXXforDConstH2(double[] a, double[] b, double[] c) {
|
||||
for (int i = 0; i < a.length; i+=2) {
|
||||
c[i+0] = (a[i+0] < b[i+0]) ? 0.1 : -0.1;
|
||||
@ -1351,7 +1351,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIEQforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1373,7 +1373,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveINEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1395,7 +1395,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIGTforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1417,7 +1417,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIGEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1439,7 +1439,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveILTforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1461,7 +1461,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveILEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1476,7 +1476,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIEQforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1490,7 +1490,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveINEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1504,7 +1504,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIGTforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1518,7 +1518,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveIGEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1532,7 +1532,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveILTforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1546,7 +1546,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_I, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveILEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -1731,7 +1731,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLEQforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1745,7 +1745,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLNEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1759,7 +1759,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLGTforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1773,7 +1773,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLGEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1787,7 +1787,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLLTforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1801,7 +1801,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveLLEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -1824,7 +1824,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLEQforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -1847,7 +1847,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLNEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -1870,7 +1870,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLGTforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -1893,7 +1893,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLGEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -1916,7 +1916,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLLTforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -1939,7 +1939,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_L, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveLLEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2134,7 +2134,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIEQforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2156,7 +2156,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUINEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2178,7 +2178,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIGTforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2200,7 +2200,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIGEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2222,7 +2222,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUILTforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2244,7 +2244,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUILEforF(int[] a, int[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2259,7 +2259,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIEQforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2273,7 +2273,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUINEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2287,7 +2287,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIGTforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2301,7 +2301,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUIGEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2315,7 +2315,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUILTforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2329,7 +2329,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_U, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveUILEforD(int[] a, int[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2514,7 +2514,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULEQforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2528,7 +2528,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULNEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2542,7 +2542,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULGTforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2556,7 +2556,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULGEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2570,7 +2570,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULLTforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2584,7 +2584,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveULLEforF(long[] a, long[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2607,7 +2607,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULEQforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2630,7 +2630,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULNEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2653,7 +2653,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULGTforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2676,7 +2676,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULGEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2699,7 +2699,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULLTforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2722,7 +2722,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_UL, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
// Requires avx2, else L is restricted to 16 byte, and D has 32. That leads to a vector elements mismatch of 2 to 4.
|
||||
private static void testCMoveULLEforD(long[] a, long[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
@ -2772,7 +2772,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGTforF(float[] a, float[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2786,7 +2786,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGTforD(float[] a, float[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2828,7 +2828,7 @@ public class TestConditionalMove {
|
||||
@IR(failOn = {IRNode.STORE_VECTOR})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDGTforF(double[] a, double[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2849,7 +2849,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_D, ">0", IRNode.CMP_D, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveDGTforD(double[] a, double[] b, double[] c, double[] d, double[] r, double[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
double cc = c[i];
|
||||
@ -2871,7 +2871,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGTforFCmpCon1(float a, float[] b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < b.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -2892,7 +2892,7 @@ public class TestConditionalMove {
|
||||
applyIf = {"UseVectorCmov", "false"})
|
||||
@IR(counts = {IRNode.CMOVE_F, ">0", IRNode.CMP_F, ">0"},
|
||||
applyIf = {"UseVectorCmov", "false"},
|
||||
applyIfPlatform = {"riscv64", "true"})
|
||||
applyIfPlatformOr = {"riscv64", "true", "x64", "true", "aarch64", "true"})
|
||||
private static void testCMoveFGTforFCmpCon2(float[] a, float b, float[] c, float[] d, float[] r, float[] r2) {
|
||||
for (int i = 0; i < a.length; i++) {
|
||||
float cc = c[i];
|
||||
@ -30,10 +30,9 @@ import java.util.List;
|
||||
* @test
|
||||
* @bug 8358892 8357551
|
||||
* @summary The test is to trigger code path of BoolTest::ge/gt in C2_MacroAssembler::enc_cmove_cmp_fp
|
||||
* @requires os.arch == "riscv64"
|
||||
* @requires vm.debug
|
||||
* @library /test/lib /
|
||||
* @run driver compiler.c2.irTests.TestFPComparison2
|
||||
* @run driver ${test.main.class}
|
||||
*/
|
||||
public class TestFPComparison2 {
|
||||
static final double[] DOUBLES = new double[] {
|
||||
@ -109,7 +108,8 @@ public class TestFPComparison2 {
|
||||
|
||||
class Test_ge_1 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -124,7 +124,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -139,7 +140,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_0_1(float x, float y) {
|
||||
return !(x <= y) ? 0 : 1;
|
||||
}
|
||||
@ -149,7 +151,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_0_1(double x, double y) {
|
||||
return !(x <= y) ? 0 : 1;
|
||||
}
|
||||
@ -159,7 +162,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_10_20(float x, float y) {
|
||||
return !(x <= y) ? 10 : 20;
|
||||
}
|
||||
@ -169,7 +173,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_10_20(double x, double y) {
|
||||
return !(x <= y) ? 10 : 20;
|
||||
}
|
||||
@ -179,7 +184,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_variable_results(float x, float y, int a, int b) {
|
||||
return !(x <= y) ? a : b;
|
||||
}
|
||||
@ -189,7 +195,8 @@ class Test_ge_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_variable_results(double x, double y, int a, int b) {
|
||||
return !(x <= y) ? a : b;
|
||||
}
|
||||
@ -338,7 +345,8 @@ class Test_ge_1 {
|
||||
|
||||
class Test_ge_cmove_fp_1 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -353,7 +361,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -368,7 +377,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_0_1(float x, float y) {
|
||||
return !(x <= y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -378,7 +388,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_0_1(double x, double y) {
|
||||
return !(x <= y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -388,7 +399,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_10_20(float x, float y) {
|
||||
return !(x <= y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -398,7 +410,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_10_20(double x, double y) {
|
||||
return !(x <= y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -408,7 +421,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_variable_results(float x, float y, float a, float b) {
|
||||
return !(x <= y) ? a : b;
|
||||
}
|
||||
@ -418,7 +432,8 @@ class Test_ge_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_variable_results(double x, double y, float a, float b) {
|
||||
return !(x <= y) ? a : b;
|
||||
}
|
||||
@ -566,7 +581,8 @@ class Test_ge_cmove_fp_1 {
|
||||
|
||||
class Test_ge_2 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -581,7 +597,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -596,7 +613,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_0_1(float x, float y) {
|
||||
return !(x >= y) ? 0 : 1;
|
||||
}
|
||||
@ -606,7 +624,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_0_1(double x, double y) {
|
||||
return !(x >= y) ? 0 : 1;
|
||||
}
|
||||
@ -616,7 +635,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_fixed_10_20(float x, float y) {
|
||||
return !(x >= y) ? 10 : 20;
|
||||
}
|
||||
@ -626,7 +646,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_fixed_10_20(double x, double y) {
|
||||
return !(x >= y) ? 10 : 20;
|
||||
}
|
||||
@ -636,7 +657,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_ge_variable_results(float x, float y, int a, int b) {
|
||||
return !(x >= y) ? a : b;
|
||||
}
|
||||
@ -646,7 +668,8 @@ class Test_ge_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_ge_variable_results(double x, double y, int a, int b) {
|
||||
return !(x >= y) ? a : b;
|
||||
}
|
||||
@ -794,7 +817,8 @@ class Test_ge_2 {
|
||||
|
||||
class Test_ge_cmove_fp_2 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -809,7 +833,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -824,7 +849,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_0_1(float x, float y) {
|
||||
return !(x >= y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -834,7 +860,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_0_1(double x, double y) {
|
||||
return !(x >= y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -844,7 +871,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_fixed_10_20(float x, float y) {
|
||||
return !(x >= y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -854,7 +882,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_fixed_10_20(double x, double y) {
|
||||
return !(x >= y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -864,7 +893,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_variable_results(float x, float y, float a, float b) {
|
||||
return !(x >= y) ? a : b;
|
||||
}
|
||||
@ -874,7 +904,8 @@ class Test_ge_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_ge_variable_results(double x, double y, float a, float b) {
|
||||
return !(x >= y) ? a : b;
|
||||
}
|
||||
@ -1022,7 +1053,8 @@ class Test_ge_cmove_fp_2 {
|
||||
|
||||
class Test_gt_1 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1037,7 +1069,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1052,7 +1085,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_0_1(float x, float y) {
|
||||
return !(x < y) ? 0 : 1;
|
||||
}
|
||||
@ -1062,7 +1096,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_0_1(double x, double y) {
|
||||
return !(x < y) ? 0 : 1;
|
||||
}
|
||||
@ -1072,7 +1107,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_10_20(float x, float y) {
|
||||
return !(x < y) ? 10 : 20;
|
||||
}
|
||||
@ -1082,7 +1118,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_10_20(double x, double y) {
|
||||
return !(x < y) ? 10 : 20;
|
||||
}
|
||||
@ -1092,7 +1129,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_variable_results(float x, float y, int a, int b) {
|
||||
return !(x < y) ? a : b;
|
||||
}
|
||||
@ -1102,7 +1140,8 @@ class Test_gt_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_variable_results(double x, double y, int a, int b) {
|
||||
return !(x < y) ? a : b;
|
||||
}
|
||||
@ -1250,7 +1289,8 @@ class Test_gt_1 {
|
||||
|
||||
class Test_gt_cmove_fp_1 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1265,7 +1305,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1280,7 +1321,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_0_1(float x, float y) {
|
||||
return !(x < y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -1290,7 +1332,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_0_1(double x, double y) {
|
||||
return !(x < y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -1300,7 +1343,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_10_20(float x, float y) {
|
||||
return !(x < y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -1310,7 +1354,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_10_20(double x, double y) {
|
||||
return !(x < y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -1320,7 +1365,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_variable_results(float x, float y, float a, float b) {
|
||||
return !(x < y) ? a : b;
|
||||
}
|
||||
@ -1330,7 +1376,8 @@ class Test_gt_cmove_fp_1 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_variable_results(double x, double y, float a, float b) {
|
||||
return !(x < y) ? a : b;
|
||||
}
|
||||
@ -1478,7 +1525,8 @@ class Test_gt_cmove_fp_1 {
|
||||
|
||||
class Test_gt_2 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1493,7 +1541,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1508,7 +1557,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_0_1(float x, float y) {
|
||||
return !(x > y) ? 0 : 1;
|
||||
}
|
||||
@ -1518,7 +1568,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_0_1(double x, double y) {
|
||||
return !(x > y) ? 0 : 1;
|
||||
}
|
||||
@ -1528,7 +1579,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_fixed_10_20(float x, float y) {
|
||||
return !(x > y) ? 10 : 20;
|
||||
}
|
||||
@ -1538,7 +1590,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_fixed_10_20(double x, double y) {
|
||||
return !(x > y) ? 10 : 20;
|
||||
}
|
||||
@ -1548,7 +1601,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_float_BoolTest_gt_variable_results(float x, float y, int a, int b) {
|
||||
return !(x > y) ? a : b;
|
||||
}
|
||||
@ -1558,7 +1612,8 @@ class Test_gt_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_I, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static int test_double_BoolTest_gt_variable_results(double x, double y, int a, int b) {
|
||||
return !(x > y) ? a : b;
|
||||
}
|
||||
@ -1706,7 +1761,8 @@ class Test_gt_2 {
|
||||
|
||||
class Test_gt_cmove_fp_2 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_1_0(float x, float y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1721,7 +1777,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_1_0(double x, double y) {
|
||||
// return 1
|
||||
// when either x or y is NaN
|
||||
@ -1736,7 +1793,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_0_1(float x, float y) {
|
||||
return !(x > y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -1746,7 +1804,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_0_1(double x, double y) {
|
||||
return !(x > y) ? 0.0f : 1.0f;
|
||||
}
|
||||
@ -1756,7 +1815,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_fixed_10_20(float x, float y) {
|
||||
return !(x > y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -1766,7 +1826,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_fixed_10_20(double x, double y) {
|
||||
return !(x > y) ? 10.0f : 20.0f;
|
||||
}
|
||||
@ -1776,7 +1837,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_variable_results(float x, float y, float a, float b) {
|
||||
return !(x > y) ? a : b;
|
||||
}
|
||||
@ -1786,7 +1848,8 @@ class Test_gt_cmove_fp_2 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_double_BoolTest_gt_variable_results(double x, double y, float a, float b) {
|
||||
return !(x > y) ? a : b;
|
||||
}
|
||||
@ -1934,7 +1997,8 @@ class Test_gt_cmove_fp_2 {
|
||||
|
||||
class Test_cmov_fp_cmp_fp_ge_3 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_x_lt_0(float x) {
|
||||
return x < 0 ? 0 : x;
|
||||
}
|
||||
@ -1944,7 +2008,8 @@ class Test_cmov_fp_cmp_fp_ge_3 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_x_gt_0(float x) {
|
||||
return x > 0 ? 0 : x;
|
||||
}
|
||||
@ -1954,7 +2019,8 @@ class Test_cmov_fp_cmp_fp_ge_3 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_neg_x_lt_0(float x) {
|
||||
return !(x < 0) ? 0 : x;
|
||||
}
|
||||
@ -1964,7 +2030,8 @@ class Test_cmov_fp_cmp_fp_ge_3 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_gt_neg_x_gt_0(float x) {
|
||||
return !(x > 0) ? 0 : x;
|
||||
}
|
||||
@ -2038,7 +2105,8 @@ class Test_cmov_fp_cmp_fp_ge_3 {
|
||||
|
||||
class Test_cmov_fp_cmp_fp_ge_4 {
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_x_le_0(float x) {
|
||||
return x <= 0 ? 0 : x;
|
||||
}
|
||||
@ -2048,7 +2116,8 @@ class Test_cmov_fp_cmp_fp_ge_4 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_x_ge_0(float x) {
|
||||
return x >= 0 ? 0 : x;
|
||||
}
|
||||
@ -2058,7 +2127,8 @@ class Test_cmov_fp_cmp_fp_ge_4 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_neg_x_le_0(float x) {
|
||||
return !(x <= 0) ? 0 : x;
|
||||
}
|
||||
@ -2068,7 +2138,8 @@ class Test_cmov_fp_cmp_fp_ge_4 {
|
||||
}
|
||||
|
||||
@Test
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"})
|
||||
@IR(counts = {IRNode.CMOVE_F, "1"},
|
||||
applyIfPlatformOr = {"riscv64", "true", "aarch64", "true"})
|
||||
public static float test_float_BoolTest_ge_neg_x_ge_0(float x) {
|
||||
return !(x >= 0) ? 0 : x;
|
||||
}
|
||||
@ -31,9 +31,8 @@ import jdk.test.lib.Utils;
|
||||
/*
|
||||
* @test
|
||||
* @summary Test conditional move + compare object.
|
||||
* @requires vm.simpleArch == "riscv64"
|
||||
* @library /test/lib /
|
||||
* @run driver compiler.c2.irTests.TestScalarConditionalMoveCmpObj
|
||||
* @run driver ${test.main.class}
|
||||
*/
|
||||
|
||||
public class TestScalarConditionalMoveCmpObj {
|
||||
Loading…
x
Reference in New Issue
Block a user