summaryrefslogtreecommitdiff
path: root/test/538-checker-embed-constants/src/Main.java
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2017-10-11 13:23:17 +0100
committer Vladimir Marko <vmarko@google.com> 2017-10-18 15:52:51 +0100
commit61b922847403ac0e74b6477114c81a28ac2e01a0 (patch)
tree02674602fb2592f758f51389b3c7b276ab4df3ee /test/538-checker-embed-constants/src/Main.java
parent6783118d2ad9d759f0617b1219a9e29a10a569f7 (diff)
ART: Introduce Uint8 loads in compiled code.
Some vectorization patterns are not recognized anymore. This shall be fixed later. Test: m test-art-host-gtest Test: testrunner.py --host --optimizing Test: testrunner.py --target --optimizing on Nexus 5X Test: Nexus 5X boots. Bug: 23964345 Bug: 67935418 Change-Id: I587a328d4799529949c86fa8045c6df21e3a8617
Diffstat (limited to 'test/538-checker-embed-constants/src/Main.java')
-rw-r--r--test/538-checker-embed-constants/src/Main.java11
1 files changed, 10 insertions, 1 deletions
diff --git a/test/538-checker-embed-constants/src/Main.java b/test/538-checker-embed-constants/src/Main.java
index 94aad9d328..049c97f59f 100644
--- a/test/538-checker-embed-constants/src/Main.java
+++ b/test/538-checker-embed-constants/src/Main.java
@@ -28,9 +28,17 @@ public class Main {
}
}
+ /// CHECK-START-ARM: int Main.and254(int) disassembly (after)
+ /// CHECK-NOT: movs {{r\d+}}, #254
+ /// CHECK: and {{r\d+}}, {{r\d+}}, #0xfe
+
+ public static int and254(int arg) {
+ return arg & 254;
+ }
+
/// CHECK-START-ARM: int Main.and255(int) disassembly (after)
/// CHECK-NOT: movs {{r\d+}}, #255
- /// CHECK: and {{r\d+}}, {{r\d+}}, #0xff
+ /// CHECK: ubfx {{r\d+}}, {{r\d+}}, #0, #8
public static int and255(int arg) {
return arg & 255;
@@ -648,6 +656,7 @@ public class Main {
public static void main(String[] args) {
int arg = 0x87654321;
+ assertIntEquals(and254(arg), 0x20);
assertIntEquals(and255(arg), 0x21);
assertIntEquals(and511(arg), 0x121);
assertIntEquals(andF00D(arg), 0x4001);