Message ID | 1391767617-2150-1-git-send-email-martin@martin.st |
---|---|
State | Committed |
Commit | 5bcbb516f2ff45290ef7995b081762e668693672 |
Headers | show |
On 2014-02-07 12:06:56 +0200, Martin Storsjö wrote: > Don't rely on the fact that an unprefixed label currently exists. > --- > libavcodec/arm/fmtconvert_neon.S | 2 +- > libavcodec/arm/h264idct_neon.S | 16 ++++++++-------- > libavcodec/arm/hpeldsp_armv6.S | 4 ++-- > libavcodec/arm/mdct_neon.S | 2 +- > libavcodec/arm/mpegvideo_neon.S | 2 +- > libavcodec/arm/videodsp_armv5te.S | 2 +- > libavcodec/arm/vp8dsp_armv6.S | 16 ++++++++-------- > libavresample/arm/audio_convert_neon.S | 4 ++-- > 8 files changed, 24 insertions(+), 24 deletions(-) > > diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S > index 41a095a..e11e82c 100644 > --- a/libavcodec/arm/fmtconvert_neon.S > +++ b/libavcodec/arm/fmtconvert_neon.S > @@ -70,7 +70,7 @@ function ff_float_to_int16_interleave_neon, export=1 > cmp r3, #2 > itt lt > ldrlt r1, [r1] > - blt ff_float_to_int16_neon > + blt X(ff_float_to_int16_neon) > bne 4f > > ldr r3, [r1] > diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S > index 3e5321c..f588f3e 100644 > --- a/libavcodec/arm/h264idct_neon.S > +++ b/libavcodec/arm/h264idct_neon.S > @@ -113,8 +113,8 @@ function ff_h264_idct_add16_neon, export=1 > movne lr, #0 > cmp lr, #0 > ite ne > - adrne lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB > - adreq lr, ff_h264_idct_add_neon + CONFIG_THUMB > + adrne lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB > + adreq lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB does this still does the right thing when X(ff_h264_idct_add_neon) is declared as .thumb_func when targeting ios? It probably does since ff_h264_idct_add_neon should already be declared as thumb after my '.func' -> '.thumb_func' patch in gas-preprocessor. > blx lr > 2: subs ip, ip, #1 > add r1, r1, #32 > @@ -138,8 +138,8 @@ function ff_h264_idct_add16intra_neon, export=1 > cmp r8, #0 > ldrsh r8, [r1] > iteet ne > - adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB > - adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB > + adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB > + adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB > cmpeq r8, #0 > blxne lr > subs ip, ip, #1 > @@ -166,8 +166,8 @@ function ff_h264_idct_add8_neon, export=1 > cmp r8, #0 > ldrsh r8, [r1] > iteet ne > - adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB > - adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB > + adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB > + adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB > cmpeq r8, #0 > blxne lr > add r12, r12, #1 > @@ -388,8 +388,8 @@ function ff_h264_idct8_add4_neon, export=1 > movne lr, #0 > cmp lr, #0 > ite ne > - adrne lr, ff_h264_idct8_dc_add_neon + CONFIG_THUMB > - adreq lr, ff_h264_idct8_add_neon + CONFIG_THUMB > + adrne lr, X(ff_h264_idct8_dc_add_neon) + CONFIG_THUMB > + adreq lr, X(ff_h264_idct8_add_neon) + CONFIG_THUMB > blx lr > 2: subs r12, r12, #4 > add r1, r1, #128 > diff --git a/libavcodec/arm/hpeldsp_armv6.S b/libavcodec/arm/hpeldsp_armv6.S > index a030d42..f85c8cb 100644 > --- a/libavcodec/arm/hpeldsp_armv6.S > +++ b/libavcodec/arm/hpeldsp_armv6.S > @@ -23,11 +23,11 @@ > .macro call_2x_pixels type, subp > function ff_\type\()_pixels16\subp\()_armv6, export=1 > push {r0-r3, lr} > - bl ff_\type\()_pixels8\subp\()_armv6 > + bl X(ff_\type\()_pixels8\subp\()_armv6) > pop {r0-r3, lr} > add r0, r0, #8 > add r1, r1, #8 > - b ff_\type\()_pixels8\subp\()_armv6 > + b X(ff_\type\()_pixels8\subp\()_armv6) > endfunc > .endm > > diff --git a/libavcodec/arm/mdct_neon.S b/libavcodec/arm/mdct_neon.S > index 9f7cb46..bfe259c 100644 > --- a/libavcodec/arm/mdct_neon.S > +++ b/libavcodec/arm/mdct_neon.S > @@ -129,7 +129,7 @@ function ff_imdct_calc_neon, export=1 > lsl r4, r4, r3 > add r1, r1, r4 > > - bl ff_imdct_half_neon > + bl X(ff_imdct_half_neon) > > add r0, r5, r4, lsl #2 > add r1, r5, r4, lsl #1 > diff --git a/libavcodec/arm/mpegvideo_neon.S b/libavcodec/arm/mpegvideo_neon.S > index 0c6c428..3e1f7b5 100644 > --- a/libavcodec/arm/mpegvideo_neon.S > +++ b/libavcodec/arm/mpegvideo_neon.S > @@ -100,7 +100,7 @@ function ff_dct_unquantize_h263_intra_neon, export=1 > smulbb r4, r4, r6 > 2: lsl r0, r3, #1 > add r3, r12, #1 > - bl ff_dct_unquantize_h263_neon > + bl X(ff_dct_unquantize_h263_neon) > vmov.16 d0[0], r4 > vst1.16 {d0[0]}, [r5] > pop {r4-r6,pc} > diff --git a/libavcodec/arm/videodsp_armv5te.S b/libavcodec/arm/videodsp_armv5te.S > index 120069d..055736d 100644 > --- a/libavcodec/arm/videodsp_armv5te.S > +++ b/libavcodec/arm/videodsp_armv5te.S > @@ -26,6 +26,6 @@ function ff_prefetch_arm, export=1 > subs r2, r2, #1 > pld [r0] > add r0, r0, r1 > - bne ff_prefetch_arm > + bne X(ff_prefetch_arm) > bx lr > endfunc > diff --git a/libavcodec/arm/vp8dsp_armv6.S b/libavcodec/arm/vp8dsp_armv6.S > index 5207758..19d454b 100644 > --- a/libavcodec/arm/vp8dsp_armv6.S > +++ b/libavcodec/arm/vp8dsp_armv6.S > @@ -359,14 +359,14 @@ endfunc > function ff_vp8_idct_dc_add4uv_armv6, export=1 > push {r4, lr} > > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, r2, lsl #2 > sub r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > > pop {r4, pc} > endfunc > @@ -375,13 +375,13 @@ endfunc > function ff_vp8_idct_dc_add4y_armv6, export=1 > push {r4, lr} > > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > add r0, r0, #4 > - bl ff_vp8_idct_dc_add_armv6 > + bl X(ff_vp8_idct_dc_add_armv6) > > pop {r4, pc} > endfunc > diff --git a/libavresample/arm/audio_convert_neon.S b/libavresample/arm/audio_convert_neon.S > index 092ce0c..98945c4 100644 > --- a/libavresample/arm/audio_convert_neon.S > +++ b/libavresample/arm/audio_convert_neon.S > @@ -133,8 +133,8 @@ function ff_conv_fltp_to_s16_neon, export=1 > cmp r3, #2 > itt lt > ldrlt r1, [r1] > - blt ff_conv_flt_to_s16_neon > - beq ff_conv_fltp_to_s16_2ch_neon > + blt X(ff_conv_flt_to_s16_neon) > + beq X(ff_conv_fltp_to_s16_2ch_neon) > > push {r4-r8, lr} > cmp r3, #4 otherwise ok Janne
On Fri, 7 Feb 2014, Janne Grunau wrote: > On 2014-02-07 12:06:56 +0200, Martin Storsjö wrote: >> Don't rely on the fact that an unprefixed label currently exists. >> --- >> libavcodec/arm/fmtconvert_neon.S | 2 +- >> libavcodec/arm/h264idct_neon.S | 16 ++++++++-------- >> libavcodec/arm/hpeldsp_armv6.S | 4 ++-- >> libavcodec/arm/mdct_neon.S | 2 +- >> libavcodec/arm/mpegvideo_neon.S | 2 +- >> libavcodec/arm/videodsp_armv5te.S | 2 +- >> libavcodec/arm/vp8dsp_armv6.S | 16 ++++++++-------- >> libavresample/arm/audio_convert_neon.S | 4 ++-- >> 8 files changed, 24 insertions(+), 24 deletions(-) >> >> diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S >> index 41a095a..e11e82c 100644 >> --- a/libavcodec/arm/fmtconvert_neon.S >> +++ b/libavcodec/arm/fmtconvert_neon.S >> @@ -70,7 +70,7 @@ function ff_float_to_int16_interleave_neon, export=1 >> cmp r3, #2 >> itt lt >> ldrlt r1, [r1] >> - blt ff_float_to_int16_neon >> + blt X(ff_float_to_int16_neon) >> bne 4f >> >> ldr r3, [r1] >> diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S >> index 3e5321c..f588f3e 100644 >> --- a/libavcodec/arm/h264idct_neon.S >> +++ b/libavcodec/arm/h264idct_neon.S >> @@ -113,8 +113,8 @@ function ff_h264_idct_add16_neon, export=1 >> movne lr, #0 >> cmp lr, #0 >> ite ne >> - adrne lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB >> - adreq lr, ff_h264_idct_add_neon + CONFIG_THUMB >> + adrne lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB >> + adreq lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB > > does this still does the right thing when X(ff_h264_idct_add_neon) is > declared as .thumb_func when targeting ios? It probably does since > ff_h264_idct_add_neon should already be declared as thumb after my > '.func' -> '.thumb_func' patch in gas-preprocessor. Yes, prior to this patch both ff_h264_idct_dc_add_neon and _ff_h264_idct_dc_add_neon are marked with .thumb_func, so this shouldn't change anything with regard to that. Excellent point though. // Martin
On 2014-02-07 14:03:59 +0200, Martin Storsjö wrote: > On Fri, 7 Feb 2014, Janne Grunau wrote: > > >On 2014-02-07 12:06:56 +0200, Martin Storsjö wrote: > >>Don't rely on the fact that an unprefixed label currently exists. > >>--- > >> libavcodec/arm/fmtconvert_neon.S | 2 +- > >> libavcodec/arm/h264idct_neon.S | 16 ++++++++-------- > >> libavcodec/arm/hpeldsp_armv6.S | 4 ++-- > >> libavcodec/arm/mdct_neon.S | 2 +- > >> libavcodec/arm/mpegvideo_neon.S | 2 +- > >> libavcodec/arm/videodsp_armv5te.S | 2 +- > >> libavcodec/arm/vp8dsp_armv6.S | 16 ++++++++-------- > >> libavresample/arm/audio_convert_neon.S | 4 ++-- > >> 8 files changed, 24 insertions(+), 24 deletions(-) > >> > >>diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S > >>index 41a095a..e11e82c 100644 > >>--- a/libavcodec/arm/fmtconvert_neon.S > >>+++ b/libavcodec/arm/fmtconvert_neon.S > >>@@ -70,7 +70,7 @@ function ff_float_to_int16_interleave_neon, export=1 > >> cmp r3, #2 > >> itt lt > >> ldrlt r1, [r1] > >>- blt ff_float_to_int16_neon > >>+ blt X(ff_float_to_int16_neon) > >> bne 4f > >> > >> ldr r3, [r1] > >>diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S > >>index 3e5321c..f588f3e 100644 > >>--- a/libavcodec/arm/h264idct_neon.S > >>+++ b/libavcodec/arm/h264idct_neon.S > >>@@ -113,8 +113,8 @@ function ff_h264_idct_add16_neon, export=1 > >> movne lr, #0 > >> cmp lr, #0 > >> ite ne > >>- adrne lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB > >>- adreq lr, ff_h264_idct_add_neon + CONFIG_THUMB > >>+ adrne lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB > >>+ adreq lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB > > > >does this still does the right thing when X(ff_h264_idct_add_neon) is > >declared as .thumb_func when targeting ios? It probably does since > >ff_h264_idct_add_neon should already be declared as thumb after my > >'.func' -> '.thumb_func' patch in gas-preprocessor. > > Yes, prior to this patch both ff_h264_idct_dc_add_neon and > _ff_h264_idct_dc_add_neon are marked with .thumb_func, so this > shouldn't change anything with regard to that. Excellent point > though. Tested, the '+ CONFIG_THUMB' is still required since for some reason the thumb bit is not set in this context although the symbol is declared as .thumb_func. patch ok Janne
diff --git a/libavcodec/arm/fmtconvert_neon.S b/libavcodec/arm/fmtconvert_neon.S index 41a095a..e11e82c 100644 --- a/libavcodec/arm/fmtconvert_neon.S +++ b/libavcodec/arm/fmtconvert_neon.S @@ -70,7 +70,7 @@ function ff_float_to_int16_interleave_neon, export=1 cmp r3, #2 itt lt ldrlt r1, [r1] - blt ff_float_to_int16_neon + blt X(ff_float_to_int16_neon) bne 4f ldr r3, [r1] diff --git a/libavcodec/arm/h264idct_neon.S b/libavcodec/arm/h264idct_neon.S index 3e5321c..f588f3e 100644 --- a/libavcodec/arm/h264idct_neon.S +++ b/libavcodec/arm/h264idct_neon.S @@ -113,8 +113,8 @@ function ff_h264_idct_add16_neon, export=1 movne lr, #0 cmp lr, #0 ite ne - adrne lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB - adreq lr, ff_h264_idct_add_neon + CONFIG_THUMB + adrne lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB + adreq lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB blx lr 2: subs ip, ip, #1 add r1, r1, #32 @@ -138,8 +138,8 @@ function ff_h264_idct_add16intra_neon, export=1 cmp r8, #0 ldrsh r8, [r1] iteet ne - adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB - adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB + adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB + adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB cmpeq r8, #0 blxne lr subs ip, ip, #1 @@ -166,8 +166,8 @@ function ff_h264_idct_add8_neon, export=1 cmp r8, #0 ldrsh r8, [r1] iteet ne - adrne lr, ff_h264_idct_add_neon + CONFIG_THUMB - adreq lr, ff_h264_idct_dc_add_neon + CONFIG_THUMB + adrne lr, X(ff_h264_idct_add_neon) + CONFIG_THUMB + adreq lr, X(ff_h264_idct_dc_add_neon) + CONFIG_THUMB cmpeq r8, #0 blxne lr add r12, r12, #1 @@ -388,8 +388,8 @@ function ff_h264_idct8_add4_neon, export=1 movne lr, #0 cmp lr, #0 ite ne - adrne lr, ff_h264_idct8_dc_add_neon + CONFIG_THUMB - adreq lr, ff_h264_idct8_add_neon + CONFIG_THUMB + adrne lr, X(ff_h264_idct8_dc_add_neon) + CONFIG_THUMB + adreq lr, X(ff_h264_idct8_add_neon) + CONFIG_THUMB blx lr 2: subs r12, r12, #4 add r1, r1, #128 diff --git a/libavcodec/arm/hpeldsp_armv6.S b/libavcodec/arm/hpeldsp_armv6.S index a030d42..f85c8cb 100644 --- a/libavcodec/arm/hpeldsp_armv6.S +++ b/libavcodec/arm/hpeldsp_armv6.S @@ -23,11 +23,11 @@ .macro call_2x_pixels type, subp function ff_\type\()_pixels16\subp\()_armv6, export=1 push {r0-r3, lr} - bl ff_\type\()_pixels8\subp\()_armv6 + bl X(ff_\type\()_pixels8\subp\()_armv6) pop {r0-r3, lr} add r0, r0, #8 add r1, r1, #8 - b ff_\type\()_pixels8\subp\()_armv6 + b X(ff_\type\()_pixels8\subp\()_armv6) endfunc .endm diff --git a/libavcodec/arm/mdct_neon.S b/libavcodec/arm/mdct_neon.S index 9f7cb46..bfe259c 100644 --- a/libavcodec/arm/mdct_neon.S +++ b/libavcodec/arm/mdct_neon.S @@ -129,7 +129,7 @@ function ff_imdct_calc_neon, export=1 lsl r4, r4, r3 add r1, r1, r4 - bl ff_imdct_half_neon + bl X(ff_imdct_half_neon) add r0, r5, r4, lsl #2 add r1, r5, r4, lsl #1 diff --git a/libavcodec/arm/mpegvideo_neon.S b/libavcodec/arm/mpegvideo_neon.S index 0c6c428..3e1f7b5 100644 --- a/libavcodec/arm/mpegvideo_neon.S +++ b/libavcodec/arm/mpegvideo_neon.S @@ -100,7 +100,7 @@ function ff_dct_unquantize_h263_intra_neon, export=1 smulbb r4, r4, r6 2: lsl r0, r3, #1 add r3, r12, #1 - bl ff_dct_unquantize_h263_neon + bl X(ff_dct_unquantize_h263_neon) vmov.16 d0[0], r4 vst1.16 {d0[0]}, [r5] pop {r4-r6,pc} diff --git a/libavcodec/arm/videodsp_armv5te.S b/libavcodec/arm/videodsp_armv5te.S index 120069d..055736d 100644 --- a/libavcodec/arm/videodsp_armv5te.S +++ b/libavcodec/arm/videodsp_armv5te.S @@ -26,6 +26,6 @@ function ff_prefetch_arm, export=1 subs r2, r2, #1 pld [r0] add r0, r0, r1 - bne ff_prefetch_arm + bne X(ff_prefetch_arm) bx lr endfunc diff --git a/libavcodec/arm/vp8dsp_armv6.S b/libavcodec/arm/vp8dsp_armv6.S index 5207758..19d454b 100644 --- a/libavcodec/arm/vp8dsp_armv6.S +++ b/libavcodec/arm/vp8dsp_armv6.S @@ -359,14 +359,14 @@ endfunc function ff_vp8_idct_dc_add4uv_armv6, export=1 push {r4, lr} - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, r2, lsl #2 sub r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) pop {r4, pc} endfunc @@ -375,13 +375,13 @@ endfunc function ff_vp8_idct_dc_add4y_armv6, export=1 push {r4, lr} - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) add r0, r0, #4 - bl ff_vp8_idct_dc_add_armv6 + bl X(ff_vp8_idct_dc_add_armv6) pop {r4, pc} endfunc diff --git a/libavresample/arm/audio_convert_neon.S b/libavresample/arm/audio_convert_neon.S index 092ce0c..98945c4 100644 --- a/libavresample/arm/audio_convert_neon.S +++ b/libavresample/arm/audio_convert_neon.S @@ -133,8 +133,8 @@ function ff_conv_fltp_to_s16_neon, export=1 cmp r3, #2 itt lt ldrlt r1, [r1] - blt ff_conv_flt_to_s16_neon - beq ff_conv_fltp_to_s16_2ch_neon + blt X(ff_conv_flt_to_s16_neon) + beq X(ff_conv_fltp_to_s16_2ch_neon) push {r4-r8, lr} cmp r3, #4