[email protected] has uploaded this change for review. ( http://gerrit.cloudera.org:8080/19840
Change subject: aarch64: use __atomic builtins instead of inline assembly ...................................................................... aarch64: use __atomic builtins instead of inline assembly The current code contains atomic instructions (exclusive loads and stores) encoded in inline assembly. ARMv8.1-a introduced LSE (Large Scale Extensions) that replace the exclusive loads and stores with optimized atomic instructions. We have seen up to 6x faster database operations when using LSE. We replace the inline assembly statements with calls to __atomic builtins. The compiler is then able to select the best instructions following the hardware capabilities or based on the compiler flags. Change-Id: I1ee85e0ac438de42f16578801a35e6874f1a58bf --- M be/src/gutil/atomicops-internals-arm64.h 1 file changed, 55 insertions(+), 280 deletions(-) git pull ssh://gerrit.cloudera.org:29418/Impala-ASF refs/changes/40/19840/1 -- To view, visit http://gerrit.cloudera.org:8080/19840 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: newchange Gerrit-Change-Id: I1ee85e0ac438de42f16578801a35e6874f1a58bf Gerrit-Change-Number: 19840 Gerrit-PatchSet: 1 Gerrit-Owner: Anonymous Coward <[email protected]>
