diff options
Diffstat (limited to 'configure')
-rwxr-xr-x | configure | 63 |
1 files changed, 19 insertions, 44 deletions
@@ -410,6 +410,18 @@ check_cpp(){ check_cmd $cc $CFLAGS "$@" -E -o $TMPO $TMPC } +check_asm(){ + log check_asm "$@" + name="$1" + asm="$2" + shift 2 + check_cc "$@" <<EOF && enable $name || disable $name +int foo(void){ + asm volatile($asm); +} +EOF +} + check_ld(){ log check_ld "$@" check_cc || return @@ -1414,18 +1426,10 @@ if enabled x86; then EOF # check wether EBX is available on x86 - check_cc <<EOF && enable ebx_available -int main(){ - asm volatile ("":::"%ebx"); -} -EOF + check_asm ebx_available '"":::"%ebx"' # check whether binutils is new enough to compile SSSE3 - enabled ssse3 && check_cc <<EOF || disable ssse3 -int main(){ - asm volatile ("pabsw %xmm0, %xmm0"); -} -EOF + enabled ssse3 && check_asm ssse3 '"pabsw %xmm0, %xmm0"' fi # check for assembler specific support @@ -1465,40 +1469,11 @@ int main(void) { EOF fi -# check armv5te instructions support -enabled armv5te && check_cc <<EOF || disable armv5te -int main(void) { - __asm__ __volatile__ ("qadd r0, r0, r0"); -} -EOF - -enabled armv6 && check_cc <<EOF || disable armv6 -int main(void) { - __asm__ __volatile__ ("sadd16 r0, r0, r0"); -} -EOF - -# check iwmmxt support -enabled iwmmxt && check_cc <<EOF || disable iwmmxt -int main(void) { - __asm__ __volatile__ ("wunpckelub wr6, wr4"); -} -EOF - -# check if our compiler supports mmi -enabled mmi && check_cc <<EOF || disable mmi -int main(void) { - __asm__ ("lq \$2, 0(\$2)"); - return 0; -} -EOF - -# check VIS support -enabled vis && check_cc -mcpu=ultrasparc <<EOF || disable vis -int main(void) { - __asm__ __volatile__ ("pdist %f0, %f0, %f0"); -} -EOF +enabled armv5te && check_asm armv5te '"qadd r0, r0, r0"' +enabled armv6 && check_asm armv6 '"sadd16 r0, r0, r0"' +enabled iwmmxt && check_asm iwmmxt '"wunpckelub wr6, wr4"' +enabled mmi && check_asm mmi '"lq $2, 0($2)"' +enabled vis && check_asm vis '"pdist %f0, %f0, %f0"' -mcpu=ultrasparc enabled vis && add_cflags "-mcpu=ultrasparc -mtune=ultrasparc" |