From 9cab4d1314642b1abbc109aa171540c2700a5c53 Mon Sep 17 00:00:00 2001 From: "andrewhayden@google.com" Date: Wed, 27 May 2015 07:40:24 +0000 Subject: [PATCH] Add avmv8 and armv8-a support. Patch credit to Milton.Chiang@mediatek.com (thanks!). See https://code.google.com/p/cld2/issues/detail?id=34 for more information. git-svn-id: https://cld2.googlecode.com/svn/trunk@195 b252ecd4-b096-bf77-eb8e-91563289f87e --- internal/port.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/internal/port.h b/internal/port.h index a695f76..b294f3a 100644 --- a/internal/port.h +++ b/internal/port.h @@ -53,13 +53,15 @@ namespace CLD2 { !defined(__ARM_ARCH_6Z__) && \ !defined(__ARM_ARCH_6ZK__) && \ !defined(__ARM_ARCH_6T2__) && \ - !defined(__ARM_ARCH_7__) && \ - !defined(__ARM_ARCH_7A__) && \ - !defined(__ARM_ARCH_7M__) && \ - !defined(__ARM_ARCH_7R__) - -// ARMv7 and newer support native unaligned accesses, but only of 16-bit -// and 32-bit values (not 64-bit); older versions either raise a fatal signal, + !defined(__ARM_ARCH_7__) && \ + !defined(__ARM_ARCH_7A__) && \ + !defined(__ARM_ARCH_7M__) && \ + !defined(__ARM_ARCH_7R__) && \ + !defined(__ARM_ARCH_8__) && \ + !defined(__ARM_ARCH_8A__) + +// ARMv7 and newer support native unaligned accesses, but only of 16-bit +// and 32-bit values (not 64-bit); older versions either raise a fatal signal, // do an unaligned read and rotate the words around a bit, or do the reads very // slowly (trip through kernel mode). There's no simple #define that says just // “ARMv7 or higher”, so we have to filter away all ARMv5 and ARMv6