comparison arm/dsputil_neon_s.S @ 10276:06d4e87718b1 libavcodec

ARM: NEON optimised vector_clipf
author mru
date Sat, 26 Sep 2009 19:55:21 +0000
parents bcf5c5551b3c
children 6db89678b326
comparison
equal deleted inserted replaced
10275:ae08043eb532 10276:06d4e87718b1
1073 vst1.32 {q8-q9}, [r0,:128]! 1073 vst1.32 {q8-q9}, [r0,:128]!
1074 b 1b 1074 b 1b
1075 2: vst1.32 {q8-q9}, [r0,:128]! 1075 2: vst1.32 {q8-q9}, [r0,:128]!
1076 bx lr 1076 bx lr
1077 .endfunc 1077 .endfunc
1078
1079 function ff_vector_clipf_neon, export=1
1080 VFP vdup.32 q1, d0[1]
1081 VFP vdup.32 q0, d0[0]
1082 NOVFP vdup.32 q0, r2
1083 NOVFP vdup.32 q1, r3
1084 NOVFP ldr r2, [sp]
1085 vld1.f32 {q2},[r1,:128]!
1086 vmin.f32 q10, q2, q1
1087 vld1.f32 {q3},[r1,:128]!
1088 vmin.f32 q11, q3, q1
1089 1: vmax.f32 q8, q10, q0
1090 vmax.f32 q9, q11, q0
1091 subs r2, r2, #8
1092 beq 2f
1093 vld1.f32 {q2},[r1,:128]!
1094 vmin.f32 q10, q2, q1
1095 vld1.f32 {q3},[r1,:128]!
1096 vmin.f32 q11, q3, q1
1097 vst1.f32 {q8},[r0,:128]!
1098 vst1.f32 {q9},[r0,:128]!
1099 b 1b
1100 2: vst1.f32 {q8},[r0,:128]!
1101 vst1.f32 {q9},[r0,:128]!
1102 bx lr
1103 .endfunc