Added autoconf check to detect if we can use arithmetic

right shift for optimizations.
This commit is contained in:
Lasse Collin 2008-03-22 14:18:29 +02:00
parent 7521bbdc83
commit 03e0e8a0d7
2 changed files with 37 additions and 0 deletions

View File

@ -407,6 +407,7 @@ AC_CHECK_HEADERS([assert.h errno.h byteswap.h sys/param.h sys/sysctl.h],
AC_C_INLINE
AC_C_RESTRICT
AX_C_ARITHMETIC_RSHIFT
AC_HEADER_STDBOOL

View File

@ -0,0 +1,36 @@
##### http://autoconf-archive.cryp.to/ax_c_arithmetic_rshift.html
#
# SYNOPSIS
#
# AX_C_ARITHMETIC_RSHIFT
#
# DESCRIPTION
#
# Checks if the right shift operation is arithmetic.
#
# This macro uses compile-time detection and so is cross-compile
# ready.
#
# LAST MODIFICATION
#
# 2006-12-12
#
# COPYLEFT
#
# Copyright (c) 2006 YAMAMOTO Kengo <yamaken AT bp.iij4u.or.jp>
#
# Copying and distribution of this file, with or without
# modification, are permitted in any medium without royalty provided
# the copyright notice and this notice are preserved.
AC_DEFUN([AX_C_ARITHMETIC_RSHIFT], [
AC_CACHE_CHECK([whether right shift operation is arithmetic],
[ax_cv_c_arithmetic_rshift],
[AC_COMPILE_IFELSE([[int dummy[((-1 >> 1) < 0) ? 1 : -1];]],
[ax_cv_c_arithmetic_rshift=yes],
[ax_cv_c_arithmetic_rshift=no])])
if test "x$ax_cv_c_arithmetic_rshift" = xyes; then
AC_DEFINE([HAVE_ARITHMETIC_RSHIFT], [1],
[Define to 1 if the right shift operation is arithmetic.])
fi
])