#!/bin/sh
#
# Copyright (c) 2013, Alexey Degtyarev <alexey@renatasystems.org>. 
# All rights reserved.
#
# Detect SSE4.1 capability in processor and compiler.
#
# $Id$

TMPFILE=`mktemp -t gost3411-autotest.XXXXXX` || exit 1
trap "rm -f ${TMPFILE} ${TMPFILE}.c 2>/dev/null" INT TERM EXIT

cat <<EOF > ${TMPFILE}.c
#include <smmintrin.h>

int main()
{
    __m128i xmm0, xmm1;
    unsigned int r0;
    xmm0 = _mm_cvtsi32_si128(0x12345678);
    r0   = _mm_extract_epi8(xmm0, 0);
    if (r0 == 0x78) return 0;
    return 1;
}
EOF

${CC} -msse4.1 -o ${TMPFILE} ${TMPFILE}.c 2>/dev/null

if [ ! -x ${TMPFILE} ]; then
    exit 0
fi

${TMPFILE} 2>/dev/null

if [ $? -eq 0 ]
then

    cat << EOF
CFLAGS+=-msse4.1
EOF

fi

exit 0
