blob: d0d72f9edd6d7fd9c56b604354171c7c80a07176 [file] [log] [blame]
#!/bin/bash
#**********************************************************************************
# This script is using in build/arch.mk for mips to detect the simd instructions:
# mmi, msa (maybe more in the future).
#
# --usage:
# ./mips-simd-check.sh $(CC) mmi
# or ./mips-simd-check.sh $(CC) msa
#
# date: 10/17/2019 Created
#**********************************************************************************
TMPC=$(mktemp tmp.XXXXXX.c)
TMPO=$(mktemp tmp.XXXXXX.o)
if [ $2 == "mmi" ]
then
echo "void main(void){ __asm__ volatile(\"punpcklhw \$f0, \$f0, \$f0\"); }" > $TMPC
$1 -march=loongson3a $TMPC -o $TMPO &> /dev/null
if test -s $TMPO
then
echo "Yes"
fi
elif [ $2 == "msa" ]
then
echo "void main(void){ __asm__ volatile(\"addvi.b \$w0, \$w1, 1\"); }" > $TMPC
$1 -mmsa $TMPC -o $TMPO &> /dev/null
if test -s $TMPO
then
echo "Yes"
fi
fi
rm -f $TMPC $TMPO