summaryrefslogtreecommitdiffstats
path: root/compiler/optimizing/intrinsics_x86_64.cc
diff options
context:
space:
mode:
authorxueliang.zhong <xueliang.zhong@linaro.org>2017-10-13 12:06:56 +0100
committerEvgeny Astigeevich <evgeny.astigeevich@linaro.org>2018-11-02 10:07:12 +0000
commitcb58b07d233c5f8e910e6e5946da8ac4ec3099f5 (patch)
treebd19cb9a44555adf51e2d145c322a592c6cd3527 /compiler/optimizing/intrinsics_x86_64.cc
parente2acc339ede3c620a476827880cf68d044dcd53e (diff)
downloadandroid_art-cb58b07d233c5f8e910e6e5946da8ac4ec3099f5.tar.gz
android_art-cb58b07d233c5f8e910e6e5946da8ac4ec3099f5.tar.bz2
android_art-cb58b07d233c5f8e910e6e5946da8ac4ec3099f5.zip
ART: Add CRC32.udate(int,int) intrinsic for ARM64
Use crc32 instructions for java.util.zip.CRC32.update(int,int). Note that CRC32 is an optional feature on ARMv8, this intrinsic is only enabled for devices with CRC32 intruction support. Original author: tim.zhang@linaro.org Performance improvements in CRC32Bench.UpdateInt: Pixel 2: 22.8x Nexus 6P: little core: 28.3x big core : 21.6x Test: m test-art-target-gtest Test: testrunner.py --target --optimizing --jit --interpreter Test: 580-crc32 Change-Id: I1a9bc2befd2934b04103a27ce05806e919874070
Diffstat (limited to 'compiler/optimizing/intrinsics_x86_64.cc')
-rw-r--r--compiler/optimizing/intrinsics_x86_64.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/compiler/optimizing/intrinsics_x86_64.cc b/compiler/optimizing/intrinsics_x86_64.cc
index 96f6eaaf33..7db26dc9be 100644
--- a/compiler/optimizing/intrinsics_x86_64.cc
+++ b/compiler/optimizing/intrinsics_x86_64.cc
@@ -2732,6 +2732,7 @@ void IntrinsicCodeGeneratorX86_64::VisitReachabilityFence(HInvoke* invoke ATTRIB
UNIMPLEMENTED_INTRINSIC(X86_64, ReferenceGetReferent)
UNIMPLEMENTED_INTRINSIC(X86_64, FloatIsInfinite)
UNIMPLEMENTED_INTRINSIC(X86_64, DoubleIsInfinite)
+UNIMPLEMENTED_INTRINSIC(X86_64, CRC32Update)
UNIMPLEMENTED_INTRINSIC(X86_64, StringStringIndexOf);
UNIMPLEMENTED_INTRINSIC(X86_64, StringStringIndexOfAfter);