From 1f30b3e7117bb41fbb9dc61fb345f1321f9e0330 Mon Sep 17 00:00:00 2001 From: Ralph Giles Date: Tue, 4 Nov 2014 11:57:28 -0800 Subject: [PATCH] Add autoconf macro to check for the bswap16 intrinsic. Signed-off-by: Erik de Castro Lopo --- m4/bswap.m4 | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/m4/bswap.m4 b/m4/bswap.m4 index 926f820e..72af3333 100644 --- a/m4/bswap.m4 +++ b/m4/bswap.m4 @@ -1,4 +1,4 @@ -dnl Copyright (C) 2012 Xiph.org Foundation +dnl Copyright (C) 2012-2014 Xiph.org Foundation dnl dnl Redistribution and use in source and binary forms, with or without dnl modification, are permitted provided that the following conditions @@ -53,3 +53,30 @@ AC_DEFUN([XIPH_C_BSWAP32], )] )# XIPH_C_BSWAP32 + + +dnl @synopsis XIPH_C_BSWAP16 +dnl +dnl @author Erik de Castro Lopo +dnl +dnl Dtermine whether the compiler has the __builtin_bswap16() intrinsic which +dnl is likely to be present for most versions of GCC as well as Clang. + +AC_DEFUN([XIPH_C_BSWAP16], +[AC_CACHE_CHECK(for bswap16 instrinsic, + ac_cv_c_bswap16, + + # Initialize to no + ac_cv_c_bswap16=no + HAVE_BSWAP16=0 + + [AC_TRY_LINK([], + return __builtin_bswap16 (0) ;, + ac_cv_c_bswap16=yes + HAVE_BSWAP16=1 + )] + AC_DEFINE_UNQUOTED(HAVE_BSWAP16, ${HAVE_BSWAP16}, + [Compiler has the __builtin_bswap16 intrinsic]) + + )] +)# XIPH_C_BSWAP16