diff options
author | 2017-10-11 13:23:17 +0100 | |
---|---|---|
committer | 2017-10-18 15:52:51 +0100 | |
commit | 61b922847403ac0e74b6477114c81a28ac2e01a0 (patch) | |
tree | 02674602fb2592f758f51389b3c7b276ab4df3ee /test/538-checker-embed-constants/src/Main.java | |
parent | 6783118d2ad9d759f0617b1219a9e29a10a569f7 (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.java | 11 |
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); |