Replace HAVE_ARMv7 with HAVE_ARMv6 if the instructions are supported by ARMv6.
ssat, usat and sxth are present under ARMv6: http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.dui0473k/dom1361289925707.html
.align 2
.macro sgnxt16 rd rs
.align 2
.macro sgnxt16 rd rs
sxth \rd, \rs
#else
lsl \rd, \rs, #16
sxth \rd, \rs
#else
lsl \rd, \rs, #16
.endm
.macro ssatx rd wr bit
.endm
.macro ssatx rd wr bit
ssat \rd, #\bit, \rd
#else
cmp \rd, \wr
ssat \rd, #\bit, \rd
#else
cmp \rd, \wr
.endm
.macro usat16_ rd rs
.endm
.macro usat16_ rd rs
usat \rd, #16, \rs
#else
subs \rd, \rs, #0
usat \rd, #16, \rs
#else
subs \rd, \rs, #0