52 lines
2.4 KiB
Bash
Executable File
52 lines
2.4 KiB
Bash
Executable File
#!/bin/bash
|
|
echo -ne "cpu \t"
|
|
../config.guess | cut -d - -f 1
|
|
TMPFILE=$(mktemp mpir.XXXXXX)
|
|
for fn in mpn_add_n mpn_sub_n mpn_mul_1.333 mpn_addmul_1.333 mpn_submul_1.333 mpn_mul_2 mpn_addmul_2 mpn_submul_2 \
|
|
mpn_addadd_n mpn_addsub_n mpn_subadd_n mpn_lshift.3 mpn_rshift.3 mpn_lshift2 mpn_rshift2 mpn_lshift1 mpn_rshift1 \
|
|
mpn_addlsh1_n mpn_sublsh1_n mpn_addlsh_n.3 mpn_sublsh_n.3 mpn_inclsh_n.3 mpn_declsh_n.3 \
|
|
mpn_rsh1add_n mpn_rsh1sub_n mpn_sumdiff_n mpn_store mpn_copyi mpn_copyd \
|
|
mpn_rsblsh1_n mpn_addlsh2_n mpn_rsblsh2_n \
|
|
mpn_popcount mpn_hamdist mpn_com mpn_not mpn_and_n mpn_xor_n mpn_ior_n mpn_nand_n mpn_nior_n mpn_xnor_n mpn_andn_n \
|
|
mpn_iorn_n mpn_lshiftc.3 mpn_divexact_byff mpn_divexact_byfobm1.3 mpn_divexact_by3 mpn_divexact_1.3333 mpn_modexact_1c_odd.334333 \
|
|
mpn_add_err1_n mpn_sub_err1_n \
|
|
mpn_divrem_euclidean_qr_1.77777 mpn_divrem_euclidean_qr_2 mpn_divrem_euclidean_r_1.77777 mpn_divrem_1.77777 mpn_divrem_2 \
|
|
mpn_divrem_hensel_qr_1.3333 mpn_divrem_hensel_qr_1_1.3333 mpn_divrem_hensel_qr_1_2.3333 \
|
|
mpn_divrem_hensel_r_1.3333 mpn_divrem_hensel_rsh_qr_1.3333 mpn_rsh_divrem_hensel_qr_1.3333 \
|
|
mpn_rsh_divrem_hensel_qr_1_1.3333 mpn_rsh_divrem_hensel_qr_1_2.3333 \
|
|
mpn_mod_1_1 mpn_mod_1_2 mpn_mod_1_3 mpn_mod_1_4 mpn_mod_34lsub1
|
|
do
|
|
fnc=$(echo $fn | cut -d _ -f 2- | cut -d . -f 1)
|
|
while [ $(echo "$fnc" | wc -c) -le 24 ]
|
|
do
|
|
fnc=$(echo " $fnc")
|
|
done
|
|
echo -ne "$fnc\t"
|
|
./speed -c -s 1000 $fn > $TMPFILE 2>&1
|
|
if [ $? -eq 0 ] ; then
|
|
cat $TMPFILE | tail -n 1 | tr -s " " | cut -f 2 -d " " | cut -d . -f 1
|
|
else
|
|
#try alternate name
|
|
if [ $fn == mpn_com ] ; then fn=mpn_com_n ; fi
|
|
if [ $fn == mpn_lshift2 ] ; then fn=mpn_lshift.2 ; fi
|
|
if [ $fn == mpn_rshift2 ] ; then fn=mpn_rshift.2 ; fi
|
|
if [ $fn == mpn_rshift1 ] ; then fn=mpn_rshift.1 ; fi
|
|
if [ $fn == mpn_lshift1 ] ; then fn=mpn_lshift.1 ; fi
|
|
if [ $fn == mpn_store ] ; then fn=MPN_ZERO ; fi
|
|
if [ $fn == mpn_copyi ] ; then fn=MPN_COPY_INCR ; fi
|
|
if [ $fn == mpn_copyd ] ; then fn=MPN_COPY_DECR ; fi
|
|
if [ $fn == mpn_divexact_byfobm1.3 ] ; then fn=mpn_bdiv_dbm1c ; fi
|
|
if [ $fn == mpn_mod_1_2 ] ; then fn=mpn_mod_1s_2 ; fi
|
|
if [ $fn == mpn_mod_1_3 ] ; then fn=mpn_mod_1s_3 ; fi
|
|
if [ $fn == mpn_mod_1_4 ] ; then fn=mpn_mod_1s_4 ; fi
|
|
if [ $fn == mpn_not ] ; then fn=mpn_com ; fi
|
|
./speed -c -s 1000 $fn > $TMPFILE 2>&1
|
|
if [ $? -eq 0 ] ; then
|
|
cat $TMPFILE | tail -n 1 | tr -s " " | cut -f 2 -d " " | cut -d . -f 1
|
|
else
|
|
echo
|
|
fi
|
|
fi
|
|
done
|
|
rm -f $TMPFILE
|