From 32784523239c376dfe544bb6c7012c4934624a6d Mon Sep 17 00:00:00 2001 From: Glenn Randers-Pehrson Date: Mon, 3 Nov 2014 08:24:34 -0600 Subject: [PATCH] [libpng16] Added PNG_USE_ARM_NEON configuration flag (Marcin Juszkiewicz). --- ANNOUNCE | 5 +++-- CHANGES | 3 ++- configure.ac | 4 ++++ pngpriv.h | 4 ++-- 4 files changed, 11 insertions(+), 5 deletions(-) diff --git a/ANNOUNCE b/ANNOUNCE index 20384d5c5..d35a965e1 100644 --- a/ANNOUNCE +++ b/ANNOUNCE @@ -1,4 +1,4 @@ -Libpng 1.6.15beta03 - November 1, 2014 +Libpng 1.6.15beta03 - November 3, 2014 This is not intended to be a public release. It will be replaced within a few weeks by a public version or by another test version. @@ -33,7 +33,8 @@ Version 1.6.15beta01 [October 29, 2014] Version 1.6.15beta02 [November 1, 2014] Changed remaining "if (!x)" to "if (x == 0)" and "if (x)" to "if (x !== 0)" -Version 1.6.15beta03 [November 1, 2014] +Version 1.6.15beta03 [November 3, 2014] + Added PNG_USE_ARM_NEON configuration flag (Marcin Juszkiewicz). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/CHANGES b/CHANGES index 354438b5f..b2faae3b3 100644 --- a/CHANGES +++ b/CHANGES @@ -5041,7 +5041,8 @@ Version 1.6.15beta01 [October 29, 2014] Version 1.6.15beta02 [November 1, 2014] Changed remaining "if (!x)" to "if (x == 0)" and "if (x)" to "if (x !== 0)" -Version 1.6.15beta03 [November 1, 2014] +Version 1.6.15beta03 [November 3, 2014] + Added PNG_USE_ARM_NEON configuration flag (Marcin Juszkiewicz). Send comments/corrections/commendations to png-mng-implement at lists.sf.net (subscription required; visit diff --git a/configure.ac b/configure.ac index 2dc306b01..c4c1251f4 100644 --- a/configure.ac +++ b/configure.ac @@ -283,17 +283,21 @@ AC_ARG_ENABLE([arm-neon], [case "$enableval" in no|off) # disable the default enabling on __ARM_NEON__ systems: + AC_DEFINE([PNG_USE_ARM_NEON], [], [ARM NEON support]) AC_DEFINE([PNG_ARM_NEON_OPT], [0], [Disable ARM Neon optimizations]) # Prevent inclusion of the assembler files below: enable_arm_neon=no;; check) + AC_DEFINE([PNG_USE_ARM_NEON], [], [ARM NEON support]) AC_DEFINE([PNG_ARM_NEON_CHECK_SUPPORTED], [], [Check for ARM Neon support at run-time]);; api) + AC_DEFINE([PNG_USE_ARM_NEON], [], [ARM NEON support]) AC_DEFINE([PNG_ARM_NEON_API_SUPPORTED], [], [Turn on ARM Neon optimizations at run-time]);; yes|on) + AC_DEFINE([PNG_USE_ARM_NEON], [], [ARM NEON support]) AC_DEFINE([PNG_ARM_NEON_OPT], [2], [Enable ARM Neon optimizations]) AC_MSG_WARN([--enable-arm-neon: please specify 'check' or 'api', if] diff --git a/pngpriv.h b/pngpriv.h index aa63cfa47..9939d0d56 100644 --- a/pngpriv.h +++ b/pngpriv.h @@ -123,8 +123,8 @@ * Note that gcc-4.9 defines __ARM_NEON instead of __ARM_NEON__, so we * check both variants. */ -# if (defined(__ARM_NEON__) || defined(__ARM_NEON)) && \ - defined(PNG_ALIGNED_MEMORY_SUPPORTED) +# if defined(PNG_USE_ARM_NEON) && (defined(__ARM_NEON__) || \ + defined(__ARM_NEON)) && defined(PNG_ALIGNED_MEMORY_SUPPORTED) # define PNG_ARM_NEON_OPT 2 # else # define PNG_ARM_NEON_OPT 0