diff options
| author | 2018-06-08 07:35:26 +0000 | |
|---|---|---|
| committer | 2018-06-08 07:35:26 +0000 | |
| commit | f69a5111fef6d0922b67c0493c7b78cbe451890a (patch) | |
| tree | 95295df45bbb0ea2b436275932e25d32aeb909a3 | |
| parent | 803a8d73f1c8b3f331e2bbf2aba037f6c93d18dc (diff) | |
| parent | 4459baee5d3042310cd2de94b7801f90ccf2504b (diff) | |
Merge "ART-tests: Remove DX-dependency from 551-checker-shifter-operand"
| -rw-r--r-- | test/551-checker-shifter-operand/build | 20 | ||||
| -rw-r--r-- | test/551-checker-shifter-operand/src/Main.java | 136 |
2 files changed, 92 insertions, 64 deletions
diff --git a/test/551-checker-shifter-operand/build b/test/551-checker-shifter-operand/build deleted file mode 100644 index d85147f17b..0000000000 --- a/test/551-checker-shifter-operand/build +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -# -# Copyright 2018 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. - -# See b/65168732 -export USE_D8=false - -./default-build "$@" diff --git a/test/551-checker-shifter-operand/src/Main.java b/test/551-checker-shifter-operand/src/Main.java index b3e4a60e9a..8311b60df7 100644 --- a/test/551-checker-shifter-operand/src/Main.java +++ b/test/551-checker-shifter-operand/src/Main.java @@ -896,7 +896,7 @@ public class Main { } // Each test line below should see one merge. - /// CHECK-START-ARM: void Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm (after) + /// CHECK-START-ARM: long[] Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm (after) /// CHECK: DataProcWithShifterOp /// CHECK: DataProcWithShifterOp /// CHECK: DataProcWithShifterOp @@ -933,7 +933,7 @@ public class Main { /// CHECK-NOT: DataProcWithShifterOp // On ARM shifts by 1 are not merged. - /// CHECK-START-ARM: void Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm (after) + /// CHECK-START-ARM: long[] Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm (after) /// CHECK: Shl /// CHECK-NOT: Shl /// CHECK: Shr @@ -941,7 +941,7 @@ public class Main { /// CHECK: UShr /// CHECK-NOT: UShr - /// CHECK-START-ARM64: void Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm64 (after) + /// CHECK-START-ARM64: long[] Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm64 (after) /// CHECK: DataProcWithShifterOp /// CHECK: DataProcWithShifterOp /// CHECK: DataProcWithShifterOp @@ -980,50 +980,98 @@ public class Main { /// CHECK: DataProcWithShifterOp /// CHECK-NOT: DataProcWithShifterOp - /// CHECK-START-ARM64: void Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm64 (after) + /// CHECK-START-ARM64: long[] Main.$opt$validateShiftLong(long, long) instruction_simplifier_arm64 (after) /// CHECK-NOT: Shl /// CHECK-NOT: Shr /// CHECK-NOT: UShr - public static void $opt$validateShiftLong(long a, long b) { - assertLongEquals(a + $noinline$LongShl(b, 1), a + (b << 1)); - assertLongEquals(a + $noinline$LongShl(b, 6), a + (b << 6)); - assertLongEquals(a + $noinline$LongShl(b, 7), a + (b << 7)); - assertLongEquals(a + $noinline$LongShl(b, 8), a + (b << 8)); - assertLongEquals(a + $noinline$LongShl(b, 14), a + (b << 14)); - assertLongEquals(a + $noinline$LongShl(b, 15), a + (b << 15)); - assertLongEquals(a + $noinline$LongShl(b, 16), a + (b << 16)); - assertLongEquals(a + $noinline$LongShl(b, 30), a + (b << 30)); - assertLongEquals(a + $noinline$LongShl(b, 31), a + (b << 31)); - assertLongEquals(a + $noinline$LongShl(b, 32), a + (b << 32)); - assertLongEquals(a + $noinline$LongShl(b, 62), a + (b << 62)); - assertLongEquals(a + $noinline$LongShl(b, 63), a + (b << 63)); - - assertLongEquals(a - $noinline$LongShr(b, 1), a - (b >> 1)); - assertLongEquals(a - $noinline$LongShr(b, 6), a - (b >> 6)); - assertLongEquals(a - $noinline$LongShr(b, 7), a - (b >> 7)); - assertLongEquals(a - $noinline$LongShr(b, 8), a - (b >> 8)); - assertLongEquals(a - $noinline$LongShr(b, 14), a - (b >> 14)); - assertLongEquals(a - $noinline$LongShr(b, 15), a - (b >> 15)); - assertLongEquals(a - $noinline$LongShr(b, 16), a - (b >> 16)); - assertLongEquals(a - $noinline$LongShr(b, 30), a - (b >> 30)); - assertLongEquals(a - $noinline$LongShr(b, 31), a - (b >> 31)); - assertLongEquals(a - $noinline$LongShr(b, 32), a - (b >> 32)); - assertLongEquals(a - $noinline$LongShr(b, 62), a - (b >> 62)); - assertLongEquals(a - $noinline$LongShr(b, 63), a - (b >> 63)); - - assertLongEquals(a ^ $noinline$LongUshr(b, 1), a ^ (b >>> 1)); - assertLongEquals(a ^ $noinline$LongUshr(b, 6), a ^ (b >>> 6)); - assertLongEquals(a ^ $noinline$LongUshr(b, 7), a ^ (b >>> 7)); - assertLongEquals(a ^ $noinline$LongUshr(b, 8), a ^ (b >>> 8)); - assertLongEquals(a ^ $noinline$LongUshr(b, 14), a ^ (b >>> 14)); - assertLongEquals(a ^ $noinline$LongUshr(b, 15), a ^ (b >>> 15)); - assertLongEquals(a ^ $noinline$LongUshr(b, 16), a ^ (b >>> 16)); - assertLongEquals(a ^ $noinline$LongUshr(b, 30), a ^ (b >>> 30)); - assertLongEquals(a ^ $noinline$LongUshr(b, 31), a ^ (b >>> 31)); - assertLongEquals(a ^ $noinline$LongUshr(b, 32), a ^ (b >>> 32)); - assertLongEquals(a ^ $noinline$LongUshr(b, 62), a ^ (b >>> 62)); - assertLongEquals(a ^ $noinline$LongUshr(b, 63), a ^ (b >>> 63)); + public static long[] $opt$validateShiftLong(long a, long b) { + long[] results = new long[36]; + + results[0] = a + (b << 1); + results[1] = a + (b << 6); + results[2] = a + (b << 7); + results[3] = a + (b << 8); + results[4] = a + (b << 14); + results[5] = a + (b << 15); + results[6] = a + (b << 16); + results[7] = a + (b << 30); + results[8] = a + (b << 31); + results[9] = a + (b << 32); + results[10] = a + (b << 62); + results[11] = a + (b << 63); + + results[12] = a - (b >> 1); + results[13] = a - (b >> 6); + results[14] = a - (b >> 7); + results[15] = a - (b >> 8); + results[16] = a - (b >> 14); + results[17] = a - (b >> 15); + results[18] = a - (b >> 16); + results[19] = a - (b >> 30); + results[20] = a - (b >> 31); + results[21] = a - (b >> 32); + results[22] = a - (b >> 62); + results[23] = a - (b >> 63); + + results[24] = a ^ (b >>> 1); + results[25] = a ^ (b >>> 6); + results[26] = a ^ (b >>> 7); + results[27] = a ^ (b >>> 8); + results[28] = a ^ (b >>> 14); + results[29] = a ^ (b >>> 15); + results[30] = a ^ (b >>> 16); + results[31] = a ^ (b >>> 30); + results[32] = a ^ (b >>> 31); + results[33] = a ^ (b >>> 32); + results[34] = a ^ (b >>> 62); + results[35] = a ^ (b >>> 63); + + return results; + } + + public static void $opt$validateShiftLongAsserts(long a, long b) { + long[] results = $opt$validateShiftLong(a, b); + assertIntEquals(3 * 12, results.length); + + assertLongEquals(a + $noinline$LongShl(b, 1), results[0]); + assertLongEquals(a + $noinline$LongShl(b, 6), results[1]); + assertLongEquals(a + $noinline$LongShl(b, 7), results[2]); + assertLongEquals(a + $noinline$LongShl(b, 8), results[3]); + assertLongEquals(a + $noinline$LongShl(b, 14), results[4]); + assertLongEquals(a + $noinline$LongShl(b, 15), results[5]); + assertLongEquals(a + $noinline$LongShl(b, 16), results[6]); + assertLongEquals(a + $noinline$LongShl(b, 30), results[7]); + assertLongEquals(a + $noinline$LongShl(b, 31), results[8]); + assertLongEquals(a + $noinline$LongShl(b, 32), results[9]); + assertLongEquals(a + $noinline$LongShl(b, 62), results[10]); + assertLongEquals(a + $noinline$LongShl(b, 63), results[11]); + + assertLongEquals(a - $noinline$LongShr(b, 1), results[12]); + assertLongEquals(a - $noinline$LongShr(b, 6), results[13]); + assertLongEquals(a - $noinline$LongShr(b, 7), results[14]); + assertLongEquals(a - $noinline$LongShr(b, 8), results[15]); + assertLongEquals(a - $noinline$LongShr(b, 14), results[16]); + assertLongEquals(a - $noinline$LongShr(b, 15), results[17]); + assertLongEquals(a - $noinline$LongShr(b, 16), results[18]); + assertLongEquals(a - $noinline$LongShr(b, 30), results[19]); + assertLongEquals(a - $noinline$LongShr(b, 31), results[20]); + assertLongEquals(a - $noinline$LongShr(b, 32), results[21]); + assertLongEquals(a - $noinline$LongShr(b, 62), results[22]); + assertLongEquals(a - $noinline$LongShr(b, 63), results[23]); + + assertLongEquals(a ^ $noinline$LongUshr(b, 1), results[24]); + assertLongEquals(a ^ $noinline$LongUshr(b, 6), results[25]); + assertLongEquals(a ^ $noinline$LongUshr(b, 7), results[26]); + assertLongEquals(a ^ $noinline$LongUshr(b, 8), results[27]); + assertLongEquals(a ^ $noinline$LongUshr(b, 14), results[28]); + assertLongEquals(a ^ $noinline$LongUshr(b, 15), results[29]); + assertLongEquals(a ^ $noinline$LongUshr(b, 16), results[30]); + assertLongEquals(a ^ $noinline$LongUshr(b, 30), results[31]); + assertLongEquals(a ^ $noinline$LongUshr(b, 31), results[32]); + assertLongEquals(a ^ $noinline$LongUshr(b, 32), results[33]); + assertLongEquals(a ^ $noinline$LongUshr(b, 62), results[34]); + assertLongEquals(a ^ $noinline$LongUshr(b, 63), results[35]); } @@ -1072,7 +1120,7 @@ public class Main { $opt$validateExtendLong(inputs[i], inputs[j]); $opt$validateShiftInt((int)inputs[i], (int)inputs[j]); - $opt$validateShiftLong(inputs[i], inputs[j]); + $opt$validateShiftLongAsserts(inputs[i], inputs[j]); } } |