summaryrefslogtreecommitdiff
path: root/libavcodec/arm/dsputil_vfp.S
diff options
context:
space:
mode:
authorMans Rullgard <mans@mansr.com>2011-06-14 11:29:48 +0100
committerMans Rullgard <mans@mansr.com>2011-06-23 07:31:54 +0100
commit8986fddc2bab92bd7d77a123ac70c4fb70c96c7c (patch)
tree73b8c4a57c98be10d4403dc69ec3019a1665b3f0 /libavcodec/arm/dsputil_vfp.S
parent9cd7b8549b71bcfced2062596fd9eecba092aeb1 (diff)
ARM: allow building in Thumb2 mode
Signed-off-by: Mans Rullgard <mans@mansr.com>
Diffstat (limited to 'libavcodec/arm/dsputil_vfp.S')
-rw-r--r--libavcodec/arm/dsputil_vfp.S21
1 files changed, 21 insertions, 0 deletions
diff --git a/libavcodec/arm/dsputil_vfp.S b/libavcodec/arm/dsputil_vfp.S
index 16ea25afe6..cbc4bd6c70 100644
--- a/libavcodec/arm/dsputil_vfp.S
+++ b/libavcodec/arm/dsputil_vfp.S
@@ -55,18 +55,23 @@ function ff_vector_fmul_vfp, export=1
1:
subs r3, r3, #16
vmul.f32 s12, s4, s12
+ itttt ge
vldmiage r1!, {s16-s19}
vldmiage r2!, {s24-s27}
vldmiage r1!, {s20-s23}
vldmiage r2!, {s28-s31}
+ it ge
vmulge.f32 s24, s16, s24
vstmia r0!, {s8-s11}
vstmia r0!, {s12-s15}
+ it ge
vmulge.f32 s28, s20, s28
+ itttt gt
vldmiagt r1!, {s0-s3}
vldmiagt r2!, {s8-s11}
vldmiagt r1!, {s4-s7}
vldmiagt r2!, {s12-s15}
+ ittt ge
vmulge.f32 s8, s0, s8
vstmiage r0!, {s24-s27}
vstmiage r0!, {s28-s31}
@@ -97,33 +102,49 @@ function ff_vector_fmul_reverse_vfp, export=1
vmul.f32 s11, s0, s11
1:
subs r3, r3, #16
+ it ge
vldmdbge r2!, {s16-s19}
vmul.f32 s12, s7, s12
+ it ge
vldmiage r1!, {s24-s27}
vmul.f32 s13, s6, s13
+ it ge
vldmdbge r2!, {s20-s23}
vmul.f32 s14, s5, s14
+ it ge
vldmiage r1!, {s28-s31}
vmul.f32 s15, s4, s15
+ it ge
vmulge.f32 s24, s19, s24
+ it gt
vldmdbgt r2!, {s0-s3}
+ it ge
vmulge.f32 s25, s18, s25
vstmia r0!, {s8-s13}
+ it ge
vmulge.f32 s26, s17, s26
+ it gt
vldmiagt r1!, {s8-s11}
+ itt ge
vmulge.f32 s27, s16, s27
vmulge.f32 s28, s23, s28
+ it gt
vldmdbgt r2!, {s4-s7}
+ it ge
vmulge.f32 s29, s22, s29
vstmia r0!, {s14-s15}
+ ittt ge
vmulge.f32 s30, s21, s30
vmulge.f32 s31, s20, s31
vmulge.f32 s8, s3, s8
+ it gt
vldmiagt r1!, {s12-s15}
+ itttt ge
vmulge.f32 s9, s2, s9
vmulge.f32 s10, s1, s10
vstmiage r0!, {s24-s27}
vmulge.f32 s11, s0, s11
+ it ge
vstmiage r0!, {s28-s31}
bgt 1b