diff options
Diffstat (limited to 'test/665-checker-simd-zero/src/Main.java')
-rw-r--r-- | test/665-checker-simd-zero/src/Main.java | 236 |
1 files changed, 0 insertions, 236 deletions
diff --git a/test/665-checker-simd-zero/src/Main.java b/test/665-checker-simd-zero/src/Main.java deleted file mode 100644 index 66eea642a4..0000000000 --- a/test/665-checker-simd-zero/src/Main.java +++ /dev/null @@ -1,236 +0,0 @@ -/* - * Copyright (C) 2017 The Android Open Source Project - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -/** - * Tests for zero vectorization. - */ -public class Main { - - /// CHECK-START: void Main.zeroz(boolean[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zeroz(boolean[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zeroz(boolean[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = false; - } - } - - /// CHECK-START: void Main.zerob(byte[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zerob(byte[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zerob(byte[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zeroc(char[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zeroc(char[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zeroc(char[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zeros(short[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zeros(short[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zeros(short[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zeroi(int[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zeroi(int[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:i\d+>> IntConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zeroi(int[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zerol(long[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:j\d+>> LongConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zerol(long[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:j\d+>> LongConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zerol(long[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zerof(float[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:f\d+>> FloatConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zerof(float[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:f\d+>> FloatConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zerof(float[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - /// CHECK-START: void Main.zerod(double[]) loop_optimization (before) - /// CHECK-DAG: <<Zero:d\d+>> DoubleConstant 0 loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: ArraySet [{{l\d+}},<<Phi>>,<<Zero>>] loop:<<Loop>> outer_loop:none - // - /// CHECK-START-ARM64: void Main.zerod(double[]) loop_optimization (after) - /// CHECK-DAG: <<Zero:d\d+>> DoubleConstant 0 loop:none - /// CHECK-DAG: <<Repl:d\d+>> VecReplicateScalar [<<Zero>>] loop:none - /// CHECK-DAG: <<Phi:i\d+>> Phi loop:<<Loop:B\d+>> outer_loop:none - /// CHECK-DAG: VecStore [{{l\d+}},<<Phi>>,<<Repl>>] loop:<<Loop>> outer_loop:none - private static void zerod(double[] x) { - for (int i = 0; i < x.length; i++) { - x[i] = 0; - } - } - - public static void main(String[] args) { - int total = 1111; - - boolean[] xz = new boolean[total]; - byte[] xb = new byte[total]; - char[] xc = new char[total]; - short[] xs = new short[total]; - int[] xi = new int[total]; - long[] xl = new long[total]; - float[] xf = new float[total]; - double[] xd = new double[total]; - - for (int i = 0; i < total; i++) { - xz[i] = true; - xb[i] = 1; - xc[i] = 1; - xs[i] = 1; - xi[i] = 1; - xl[i] = 1; - xf[i] = 1; - xd[i] = 1; - } - - for (int i = 0; i < total; i++) { - expectEquals(true, xz[i]); - expectEquals(1, xb[i]); - expectEquals(1, xc[i]); - expectEquals(1, xs[i]); - expectEquals(1, xi[i]); - expectEquals(1, xl[i]); - expectEquals(1, xf[i]); - expectEquals(1, xd[i]); - } - - zeroz(xz); - zerob(xb); - zeroc(xc); - zeros(xs); - zeroi(xi); - zerol(xl); - zerof(xf); - zerod(xd); - - for (int i = 0; i < total; i++) { - expectEquals(false, xz[i]); - expectEquals(0, xb[i]); - expectEquals(0, xc[i]); - expectEquals(0, xs[i]); - expectEquals(0, xi[i]); - expectEquals(0, xl[i]); - expectEquals(0, xf[i]); - expectEquals(0, xd[i]); - } - - System.out.println("passed"); - } - - private static void expectEquals(boolean expected, boolean result) { - if (expected != result) { - throw new Error("Expected: " + expected + ", found: " + result); - } - } - - private static void expectEquals(int expected, int result) { - if (expected != result) { - throw new Error("Expected: " + expected + ", found: " + result); - } - } - - private static void expectEquals(long expected, long result) { - if (expected != result) { - throw new Error("Expected: " + expected + ", found: " + result); - } - } - - private static void expectEquals(float expected, float result) { - if (expected != result) { - throw new Error("Expected: " + expected + ", found: " + result); - } - } - - private static void expectEquals(double expected, double result) { - if (expected != result) { - throw new Error("Expected: " + expected + ", found: " + result); - } - } -} |