|
|
|
@ -164,26 +164,34 @@ check_cpu () { |
|
|
|
|
|
|
|
cc_ver=`$cc --version | sed 1q` |
|
|
|
cc_verno=`echo $cc_ver | sed -e 's/^.*gcc/gcc/g; s/[^0-9. ]//g; s/^ *//g; s/ .*//g'` |
|
|
|
set -- `echo $cc_verno | tr '.' ' '` |
|
|
|
cc_major=$1 |
|
|
|
cc_minor=$2 |
|
|
|
cc_patch=$3 |
|
|
|
cc_comp=`expr $cc_major '*' 100 '+' $cc_minor` |
|
|
|
|
|
|
|
case "$cc_ver--$cc_verno" in |
|
|
|
*GCC*) |
|
|
|
# different gcc backends (and versions) have different CPU flags |
|
|
|
case `gcc -dumpmachine` in |
|
|
|
i?86-*) |
|
|
|
case "$cc_verno" in |
|
|
|
3.4*|3.5*|4.*) |
|
|
|
check_cpu_args='-mtune=$cpu_arg -march=$cpu_arg' |
|
|
|
;; |
|
|
|
*) |
|
|
|
check_cpu_args='-mcpu=$cpu_arg -march=$cpu_arg' |
|
|
|
;; |
|
|
|
esac |
|
|
|
if test "$cc_comp" -lt 304 |
|
|
|
then |
|
|
|
check_cpu_args='-mcpu=$cpu_arg' |
|
|
|
else |
|
|
|
check_cpu_args='-mtune=$cpu_arg' |
|
|
|
fi |
|
|
|
;; |
|
|
|
ppc-*) |
|
|
|
check_cpu_args='-mcpu=$cpu_arg -mtune=$cpu_arg' |
|
|
|
;; |
|
|
|
x86_64-*) |
|
|
|
check_cpu_args='-mtune=$cpu_arg' |
|
|
|
if test "$cc_comp" -lt 304 |
|
|
|
then |
|
|
|
check_cpu_args='-mcpu=$cpu_arg' |
|
|
|
else |
|
|
|
check_cpu_args='-mtune=$cpu_arg' |
|
|
|
fi |
|
|
|
;; |
|
|
|
*) |
|
|
|
check_cpu_cflags="" |
|
|
|
|