summaryrefslogtreecommitdiff
path: root/libdexfile/Android.bp
diff options
context:
space:
mode:
author Anton Romanov <anton.romanov@syntacore.com> 2024-06-27 17:46:39 +0500
committer Treehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com> 2024-07-17 12:37:07 +0000
commit57fe2140f6a78a66cf80c9b46e96acc6b83ec3ed (patch)
tree535f5a91d38c0c203dd969f02765ee5e6617b943 /libdexfile/Android.bp
parent91c9502fdf437fce5596631e50db5e70c034312a (diff)
riscv64: Extend Shl+Add optimization for many Adds
Extend instruction_simplifier_riscv64 so it can optimize not only one non environment Add use of Shl<1|2|3>. Replaces every Add use of Shl<1|2|3> with Riscv64ShiftAdd even if there are other uses. If Shl has no any uses then remove it. Even if there is not only an Add among Shl uses such an extension gives a gain. sh<1|2|3>add takes one clock cycle therefore 2 independent shifts (e.g. slli and sh<1|2|3>add) can go parallel on a dual-issue processor. By compiling with dex2oat all the methods of applications below I got: Facebook: +20% (+9) cases TikTok: +15% (+4) cases (pattern detections) of the optimization. Test: art/test/testrunner/testrunner.py --target --64 --ndebug --optimizing Change-Id: I2c194ad74f1b8c60f8c926894c389af61333ec28
Diffstat (limited to 'libdexfile/Android.bp')
0 files changed, 0 insertions, 0 deletions