Skip to content

Commit

Permalink
configure: arm: check inline and external asm support for extensions
Browse files Browse the repository at this point in the history
This tests instruction set support in both inline and external asm.
If both fail, the base config option is disabled.

Signed-off-by: Mans Rullgard <[email protected]>
  • Loading branch information
mansr committed Dec 7, 2012
1 parent c6ebc9f commit 7f2b3dc
Showing 1 changed file with 8 additions and 6 deletions.
14 changes: 8 additions & 6 deletions configure
Original file line number Diff line number Diff line change
Expand Up @@ -3152,12 +3152,14 @@ EOF
warn "Compiler does not indicate floating-point ABI, guessing $fpabi."
fi

enabled armv5te && check_inline_asm armv5te '"qadd r0, r0, r0"'
enabled armv6 && check_inline_asm armv6 '"sadd16 r0, r0, r0"'
enabled armv6t2 && check_inline_asm armv6t2 '"movt r0, #0"'
enabled armvfp && check_inline_asm armvfp '"fadds s0, s0, s0"'
enabled neon && check_inline_asm neon '"vadd.i16 q0, q0, q0"'
enabled vfpv3 && check_inline_asm vfpv3 '"vmov.f32 s0, #1.0"'
enabled armv5te && check_insn armv5te 'qadd r0, r0, r0'
enabled armv6 && check_insn armv6 'sadd16 r0, r0, r0'
enabled armv6t2 && check_insn armv6t2 'movt r0, #0'
enabled armvfp && check_insn armvfp 'fadds s0, s0, s0'
enabled neon && check_insn neon 'vadd.i16 q0, q0, q0'
enabled vfpv3 && check_insn vfpv3 'vmov.f32 s0, #1.0'

map 'enabled_any ${v}_external ${v}_inline || disable $v' $ARCH_EXT_LIST_ARM

check_inline_asm asm_mod_q '"add r0, %Q0, %R0" :: "r"((long long)0)'
check_inline_asm asm_mod_y '"vmul.i32 d0, d0, %y0" :: "x"(0)'
Expand Down

0 comments on commit 7f2b3dc

Please sign in to comment.