aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2020-02-02Upgrade arm-optimized-routines to 33ba19089a261964e1e84ba4edf90263b468c161 ↵r_aml_301500702android-mainline-12.0.0_r55android-mainline-11.0.0_r9android-mainline-11.0.0_r8android-mainline-11.0.0_r7android-mainline-11.0.0_r6android-mainline-11.0.0_r5android-mainline-11.0.0_r45android-mainline-11.0.0_r44android-mainline-11.0.0_r43android-mainline-11.0.0_r42android-mainline-11.0.0_r41android-mainline-11.0.0_r40android-mainline-11.0.0_r4android-mainline-11.0.0_r39android-mainline-11.0.0_r38android-mainline-11.0.0_r37android-mainline-11.0.0_r36android-mainline-11.0.0_r35android-mainline-11.0.0_r34android-mainline-11.0.0_r33android-mainline-11.0.0_r32android-mainline-11.0.0_r31android-mainline-11.0.0_r30android-mainline-11.0.0_r3android-mainline-11.0.0_r29android-mainline-11.0.0_r28android-mainline-11.0.0_r27android-mainline-11.0.0_r26android-mainline-11.0.0_r25android-mainline-11.0.0_r24android-mainline-11.0.0_r23android-mainline-11.0.0_r22android-mainline-11.0.0_r21android-mainline-11.0.0_r20android-mainline-11.0.0_r2android-mainline-11.0.0_r19android-mainline-11.0.0_r18android-mainline-11.0.0_r17android-mainline-11.0.0_r16android-mainline-11.0.0_r15android-mainline-11.0.0_r14android-mainline-11.0.0_r13android-mainline-11.0.0_r12android-mainline-11.0.0_r10android-mainline-11.0.0_r1android-11.0.0_r9android-11.0.0_r8android-11.0.0_r7android-11.0.0_r48android-11.0.0_r47android-11.0.0_r46android-11.0.0_r45android-11.0.0_r44android-11.0.0_r43android-11.0.0_r42android-11.0.0_r41android-11.0.0_r40android-11.0.0_r39android-11.0.0_r38android-11.0.0_r37android-11.0.0_r36android-11.0.0_r35android-11.0.0_r34android-11.0.0_r33android-11.0.0_r32android-11.0.0_r31android-11.0.0_r30android-11.0.0_r29android-11.0.0_r28android-11.0.0_r27android-11.0.0_r26android-11.0.0_r24android-11.0.0_r23android-11.0.0_r22android-11.0.0_r21android-11.0.0_r20android-11.0.0_r19android-11.0.0_r18android-11.0.0_r16android-11.0.0_r15android-11.0.0_r14android-11.0.0_r13android-11.0.0_r12android-11.0.0_r11android-11.0.0_r10android11-qpr3-s1-releaseandroid11-qpr3-releaseandroid11-qpr2-releaseandroid11-qpr1-s2-releaseandroid11-qpr1-s1-releaseandroid11-qpr1-releaseandroid11-qpr1-d-s1-releaseandroid11-qpr1-d-releaseandroid11-qpr1-c-releaseandroid11-mainline-tethering-releaseandroid11-mainline-sparse-2021-jan-releaseandroid11-mainline-sparse-2020-dec-releaseandroid11-mainline-releaseandroid11-mainline-permission-releaseandroid11-mainline-os-statsd-releaseandroid11-mainline-networkstack-releaseandroid11-mainline-media-swcodec-releaseandroid11-mainline-media-releaseandroid11-mainline-extservices-releaseandroid11-mainline-documentsui-releaseandroid11-mainline-conscrypt-releaseandroid11-mainline-cellbroadcast-releaseandroid11-mainline-captiveportallogin-releaseandroid11-devandroid11-d2-releaseandroid11-d1-s7-releaseandroid11-d1-s6-releaseandroid11-d1-s5-releaseandroid11-d1-s1-releaseandroid11-d1-releaseandroid11-d1-b-releaseAutomerger Merge Worker
am: 3cfe72295e am: b7d6096463 am: ebae74c385 Change-Id: I426a462824ae79ef6aea3fefe4ebb74ae9123f48
2020-02-02Upgrade arm-optimized-routines to 33ba19089a261964e1e84ba4edf90263b468c161 ↵Automerger Merge Worker
am: 3cfe72295e am: b7d6096463 Change-Id: Ic19a77e480800bf09ee9799f98fc0571062e604f
2020-02-02Upgrade arm-optimized-routines to 33ba19089a261964e1e84ba4edf90263b468c161 ↵Automerger Merge Worker
am: 3cfe72295e Change-Id: I2362a7aec7beb59a0667b8389395dc6136b0915d
2020-02-01Upgrade arm-optimized-routines to 33ba19089a261964e1e84ba4edf90263b468c161android-r-preview-1Haibo Huang
Test: None Change-Id: I0a8e0dfe452bef99b9225811e6f5049cf722f3d7
2020-01-25Make ramdisk_available. am: 212cd8465a am: 0d921066e8 am: 14fe0085b7Automerger Merge Worker
Change-Id: I82501ab9be09ea4cbd04eaaf9d80e76a370f0125
2020-01-25Make ramdisk_available. am: 212cd8465a am: 0d921066e8Automerger Merge Worker
Change-Id: If5e92205e1a9eb3f47f33393d25b6cb67315de87
2020-01-24Make ramdisk_available.Yifan Hong
am: 212cd8465a Change-Id: I14665401f88e2eefe676d4ebdb8ad715f1b1648e
2020-01-21Make ramdisk_available.Yifan Hong
Test: pass Bug: 147347110 Change-Id: Id538a1f7c66af23c35bf4935ba5385b63378e3dd
2020-01-16[automerger skipped] DO NOT MERGE - Empty merge ↵Automerger Merge Worker
qt-qpr1-dev-plus-aosp-without-vendor (6129114) into stage-aosp-master am: ad4a09b296 am: 5d368981a1 -s ours am skip reason: subject contains skip directive Change-Id: Iecdcfc12d6d4a9d446ed87be959e3abb61eaf22a
2020-01-16DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) ↵Automerger Merge Worker
into stage-aosp-master am: ad4a09b296 Change-Id: Ia39cb8f53a273990b1bf13d6d5e735c94ef41594
2020-01-15DO NOT MERGE - Empty merge qt-qpr1-dev-plus-aosp-without-vendor (6129114) ↵Xin Li
into stage-aosp-master Bug: 146167222 Change-Id: Idf9ffd84968f5788774541e6b6953d66671c472a
2020-01-14math: Add more ulp testsSzabolcs Nagy
Some functions were not tested with the statistical ulp error check tool, this commit adds tests for the current math symbols.
2020-01-14math: add vector powSzabolcs Nagy
This implementation is a wrapper around the scalar pow with appropriate call abi. As such it is not expected to be faster than scalar calls, the new double prec vector pow symbols are provided for completeness.
2020-01-14string: Remove memcpy_bytewiseWilco Dijkstra
This was a placeholder for testing the build system before we added optimized string code and thus no longer needed.
2020-01-13Correct a comment in Android.bp. am: 9ba6fed26b am: 40dcb31380 am: 87f34a9d7dAutomerger Merge Worker
Change-Id: Ib4f306b6ff014fcee17ef4efbc4afc43f36f9067
2020-01-13Correct a comment in Android.bp. am: 9ba6fed26b am: 40dcb31380Automerger Merge Worker
Change-Id: I84cf954aa2b1482b33f79ed7a422242063bc589a
2020-01-13Correct a comment in Android.bp.Elliott Hughes
am: 9ba6fed26b Change-Id: I53b3b8c36c6b3f455abd5c02f2f27a038816201a
2020-01-13Correct a comment in Android.bp.Elliott Hughes
Change-Id: Ia5e846b471bc7d0089cb8a14cad483ac73647dfd
2020-01-11Stop setting WANT_ROUNDING=0. am: ef3eb23336 am: faac035047 am: cecbdd39deAutomerger Merge Worker
Change-Id: Id582bb12f305b67430c7694da45971ff348c3c91
2020-01-11Stop setting WANT_ROUNDING=0. am: ef3eb23336 am: faac035047Automerger Merge Worker
Change-Id: I7d5b336ff6057342be5c275a4d6c953ef37eb3ae
2020-01-10Stop setting WANT_ROUNDING=0.Elliott Hughes
am: ef3eb23336 Change-Id: I45980aed2e73689a79078fa8e046546b6b8bd2ef
2020-01-10Stop setting WANT_ROUNDING=0.Elliott Hughes
Remove this based on the explanation on https://github.com/ARM-software/optimized-routines/issues/23. Also document WANT_ERRNO=0 (which does make sense for us) based on https://github.com/ARM-software/optimized-routines/issues/16#issuecomment-572009659. Test: manually ran all the tests with a clang from the future Change-Id: I37393633416189854f349606c15d67b51cf0f813
2020-01-09math: fix spurious overflow in pow with clangSzabolcs Nagy
clang does not support c99 fenv_access and may move fp operations out of conditional blocks causing unconditional fenv side-effects. Here if (cond) ix = f (x * 0x1p52); was transformed to ix_ = f (x * 0x1p52); ix = cond ? ix_ : ix; where x can be a huge negative value so the mul overflows. The added barrier should prevent such transformation by significantly increasing the cost of doing the mul unconditionally. Found by enh from google on android arm and aarch64 targets. Fixes github issue #16.
2020-01-08Make room for the string routines. am: 543898646f am: 0901342c69 am: 0c66918689Automerger Merge Worker
Change-Id: Ib4666ae6dafceef362817745e05f52d04c37499e
2020-01-08Make room for the string routines. am: 543898646f am: 0901342c69Automerger Merge Worker
Change-Id: I86441dd8bb4d5ddf3a2316d326e3142fa17932af
2020-01-07Make room for the string routines.Elliott Hughes
am: 543898646f Change-Id: Ic459e0e91ed46e89e1443a01d3ee227ba5bb388c
2020-01-07Make room for the string routines.Elliott Hughes
Test: treehugger Change-Id: I87b6771f79ca230817f3a765c9f869b7ace6e617
2020-01-07string: Fix compilation of AArch64 strrchr with ClangJake Weinstein
2020-01-06Upgrade arm-optimized-routines to 3377796fe24ff1d5396609205426402678208eb1 ↵Automerger Merge Worker
am: 3b675281d7 am: c399159592 am: d31d959253 Change-Id: Ifb476837d33fe320512d9da34ad24ec468b1d7d3
2020-01-06Upgrade arm-optimized-routines to 3377796fe24ff1d5396609205426402678208eb1 ↵Automerger Merge Worker
am: 3b675281d7 am: c399159592 Change-Id: Ic81bb51942a81074bf749b5117887ca1cf7a3003
2020-01-06Upgrade arm-optimized-routines to 3377796fe24ff1d5396609205426402678208eb1Haibo Huang
am: 3b675281d7 Change-Id: I52d774b5b98a8df7238d9361b0b0c565ee8cca3d
2020-01-06string: Add strrchrWilco Dijkstra
Add strrchr for AArch64. Originally written by Richard Earnshaw, same code is present in newlib, this copy has minor edits for inclusion into the optimized-routines repo.
2020-01-03Add the Assignment Agreement v1.1 documentSzabolcs Nagy
This Assignment Agreement has to be filled in, signed and sent to optimized-routines-assignment@arm.com by Contributors before their contributions can be accepted into optimized-routines.
2020-01-02string: Use L(name) for labelsWilco Dijkstra
Use L(name) for all assembler labels.
2020-01-02string: Use asmdefs.h, ENTRY and ENDWilco Dijkstra
Cleanup string functions to use asmdefs.h, ENTRY and END instead of defining macros in each file.
2019-12-26Upgrade arm-optimized-routines to 3377796fe24ff1d5396609205426402678208eb1Haibo Huang
Test: None Change-Id: I53e779068d114b93050f44eb56b71d3ba14ac941
2019-12-19arm-optimized-routines: build and run the tests. am: 3eae8e0a7e am: ↵Automerger Merge Worker
d01a95fa10 am: 62fcd6bfe4 Change-Id: I7147335ad1eee7854ee6bf05da5952b73d10da54
2019-12-19arm-optimized-routines: build and run the tests. am: 3eae8e0a7e am: d01a95fa10Automerger Merge Worker
Change-Id: I9397b977f0cf1cac064b4656db08f9e92db4e1db
2019-12-19arm-optimized-routines: build and run the tests.Elliott Hughes
am: 3eae8e0a7e Change-Id: I5965caa566f1ce810db8aa12fb6ad71484907c94
2019-12-18arm-optimized-routines: build and run the tests.Elliott Hughes
This doesn't enable presubmit because the tests don't pass on 32-bit. Strictly, we're also not running the ulp tests because they're a bloodbath on both LP32 and LP64 at the moment. But at least the 64-bit non-ulp tests are passing, and this patch is enough to let you run any/all of the other tests. Test: atest arm-optimized-routines-tests (slow) Test: ./run-arm-optimized-routines-tests-on-android.sh (fast) Change-Id: I07b78e1222064af6877f311ef9bbd76e4a9a3822
2019-12-10aarch64: Combine memcpy and memmove implementationsKrzysztof Koch
Modify integer and SIMD versions of memcpy to handle overlaps correctly. Make __memmove_aarch64 and __memmove_aarch64_simd alias to __memcpy_aarch64 and __memcpy_aarch64_simd respectively. Complete sharing of code between memcpy and memmove implementations is possible without noticeable performance penalty. This is thanks to moving the source and destination buffer overlap detection after the code for handling small and medium copies which are overlap-safe anyway. Benchmarking shows that keeping two versions of memcpy is necessary because newer platforms favor aligning src over destination for large copies. Using NEON registers also gives a small speedup. However, aligning dst and using general-purpose registers works best for older platforms. Consequently, memcpy.S and memcpy_simd.S contain memcpy code which is identical except for the registers used and src vs dst alignment.
2019-12-03Merge "Upgrade arm-optimized-routines to ↵Automerger Merge Worker
1fd2aaae0fcb13f3a53be8de50b68d269145a0a4" am: accf6eb5b6 am: 34cccfb7b2 Change-Id: I7fcd9c7a7a73069fe36d1764b0fdc26f6f418bf1
2019-12-03Merge "Upgrade arm-optimized-routines to ↵Elliott Hughes
1fd2aaae0fcb13f3a53be8de50b68d269145a0a4" am: accf6eb5b6 am: b5a6c80663 Change-Id: Ia7e9581c10f14b3b50984afe371925536e47372d
2019-12-03Merge "Upgrade arm-optimized-routines to ↵Elliott Hughes
1fd2aaae0fcb13f3a53be8de50b68d269145a0a4" am: accf6eb5b6 Change-Id: If98ea461b110ef0bd87e79091241fdb49d8d516e
2019-12-03Merge "Upgrade arm-optimized-routines to ↵Elliott Hughes
1fd2aaae0fcb13f3a53be8de50b68d269145a0a4"
2019-11-27Update the readmeSzabolcs Nagy
Mention releases.
2019-11-26arch64: Add SIMD version of memcpyKrzysztof Koch
Create a new memcpy implementation for targets with the NEON extension. __memcpy_aarch64_simd has been tested on a range of modern microarchitectures. It turned out to be faster than __memcpy_aarch64 on all of them, with a performance improvement of 3-11% depending on the platform.
2019-11-26aarch64: Use common header file in memcpy.SKrzysztof Koch
Include asmdefs.h in memcpy.S to avoid duplicate macro definitions. Add macro for defining labels in asmdefs.h. Change the default routine entry point alignment to 64 bytes. Define a new macro which allows controlling the entry point alignment. Add include guard to asmdefs.h.
2019-11-26Makefile tweak for better subproject handlingSzabolcs Nagy
Don't include the makefile fragments of subprojects that aren't built. With this the build fails more reasonably when SUBS is set incorrectly.
2019-11-25Upgrade arm-optimized-routines to 1fd2aaae0fcb13f3a53be8de50b68d269145a0a4Haibo Huang
Test: None Change-Id: Icb5438654d4cae8967cf4a4094253fa30837a7fe