0005-arm_neon-fix-iOS-linking.patch 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. From d96257d82cc8f2b8a6d62cbcc7bc2e077ab50575 Mon Sep 17 00:00:00 2001
  2. From: =?UTF-8?q?Felix=20Paul=20K=C3=BChne?= <fkuehne@videolan.org>
  3. Date: Wed, 10 Dec 2014 22:14:55 +0100
  4. Subject: [PATCH 05/15] arm_neon: fix iOS linking
  5. ---
  6. modules/arm_neon/amplify.S | 7 ++---
  7. modules/arm_neon/simple_channel_mixer.S | 46 +++++++++++++--------------------
  8. 2 files changed, 22 insertions(+), 31 deletions(-)
  9. diff --git a/modules/arm_neon/amplify.S b/modules/arm_neon/amplify.S
  10. index 5938118..42f0d00 100644
  11. --- a/modules/arm_neon/amplify.S
  12. +++ b/modules/arm_neon/amplify.S
  13. @@ -18,6 +18,8 @@
  14. @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  15. @****************************************************************************/
  16. +#include "asm.S"
  17. +
  18. .syntax unified
  19. .arm
  20. .fpu neon
  21. @@ -27,9 +29,7 @@
  22. #define SRC r1
  23. #define SIZE r2
  24. .align 2
  25. - .global amplify_float_arm_neon
  26. - .type amplify_float_arm_neon, %function
  27. -amplify_float_arm_neon:
  28. +function amplify_float_arm_neon, export=1
  29. cmp SIZE, #0
  30. bxeq lr
  31. #ifdef __ARM_PCS
  32. @@ -79,3 +79,4 @@ amplify_float_arm_neon:
  33. 4: vst1.f32 {d20-d21}, [DST,:128]!
  34. 5: vst1.f32 {d16-d17}, [DST,:128]!
  35. bx lr
  36. +endfunc
  37. diff --git a/modules/arm_neon/simple_channel_mixer.S b/modules/arm_neon/simple_channel_mixer.S
  38. index a94ae85..54b43a7 100644
  39. --- a/modules/arm_neon/simple_channel_mixer.S
  40. +++ b/modules/arm_neon/simple_channel_mixer.S
  41. @@ -19,6 +19,8 @@
  42. @ Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
  43. @****************************************************************************/
  44. +#include "asm.S"
  45. +
  46. .fpu neon
  47. .text
  48. .align 2
  49. @@ -34,9 +36,7 @@ coeff_7to2:
  50. .float 0.5
  51. .float 0.25
  52. .float 0.25
  53. - .global convert_7_x_to_2_0_neon_asm
  54. - .type convert_7_x_to_2_0_neon_asm, %function
  55. -convert_7_x_to_2_0_neon_asm:
  56. +function convert_7_x_to_2_0_neon_asm, export=1
  57. push {r4,lr}
  58. adr COEFF, coeff_7to2
  59. @@ -63,6 +63,7 @@ convert_7_x_to_2_0_neon_asm:
  60. bne 0b
  61. pop {r4,pc}
  62. +endfunc
  63. coeff_5to2:
  64. @@ -70,9 +71,7 @@ coeff_5to2:
  65. .float 0.5
  66. .float 0.33
  67. .float 0.33
  68. - .global convert_5_x_to_2_0_neon_asm
  69. - .type convert_5_x_to_2_0_neon_asm, %function
  70. -convert_5_x_to_2_0_neon_asm:
  71. +function convert_5_x_to_2_0_neon_asm, export=1
  72. push {r4,lr}
  73. adr COEFF, coeff_5to2
  74. @@ -95,14 +94,13 @@ convert_5_x_to_2_0_neon_asm:
  75. bne 0b
  76. pop {r4,pc}
  77. +endfunc
  78. coeff_4to2:
  79. .float 0.5
  80. .float 0.5
  81. - .global convert_4_0_to_2_0_neon_asm
  82. - .type convert_4_0_to_2_0_neon_asm, %function
  83. -convert_4_0_to_2_0_neon_asm:
  84. +function convert_4_0_to_2_0_neon_asm, export=1
  85. push {r4,lr}
  86. adr COEFF, coeff_4to2
  87. @@ -119,14 +117,12 @@ convert_4_0_to_2_0_neon_asm:
  88. bne 0b
  89. pop {r4,pc}
  90. -
  91. +endfunc
  92. coeff_3to2:
  93. .float 0.5
  94. .float 0.5
  95. - .global convert_3_x_to_2_0_neon_asm
  96. - .type convert_3_x_to_2_0_neon_asm, %function
  97. -convert_3_x_to_2_0_neon_asm:
  98. +function convert_3_x_to_2_0_neon_asm, export=1
  99. push {r4,lr}
  100. adr COEFF, coeff_3to2
  101. @@ -147,16 +143,14 @@ convert_3_x_to_2_0_neon_asm:
  102. bne 0b
  103. pop {r4,pc}
  104. -
  105. +endfunc
  106. coeff_7to1:
  107. .float 0.25
  108. .float 0.25
  109. .float 0.125
  110. .float 0.125
  111. - .global convert_7_x_to_1_0_neon_asm
  112. - .type convert_7_x_to_1_0_neon_asm, %function
  113. -convert_7_x_to_1_0_neon_asm:
  114. +function convert_7_x_to_1_0_neon_asm, export=1
  115. push {r4,lr}
  116. adr COEFF, coeff_7to1
  117. @@ -181,6 +175,7 @@ convert_7_x_to_1_0_neon_asm:
  118. bne 0b
  119. pop {r4,pc}
  120. +endfunc
  121. coeff_5to1:
  122. @@ -188,9 +183,7 @@ coeff_5to1:
  123. .float 0.25
  124. .float 0.16666667
  125. .float 0.16666667
  126. - .global convert_5_x_to_1_0_neon_asm
  127. - .type convert_5_x_to_1_0_neon_asm, %function
  128. -convert_5_x_to_1_0_neon_asm:
  129. +function convert_5_x_to_1_0_neon_asm, export=1
  130. push {r4,lr}
  131. adr COEFF, coeff_5to1
  132. @@ -212,16 +205,14 @@ convert_5_x_to_1_0_neon_asm:
  133. bne 0b
  134. pop {r4,pc}
  135. -
  136. +endfunc
  137. coeff_7to4:
  138. .float 0.5
  139. .float 0.5
  140. .float 0.16666667
  141. .float 0.16666667
  142. - .global convert_7_x_to_4_0_neon_asm
  143. - .type convert_7_x_to_4_0_neon_asm, %function
  144. -convert_7_x_to_4_0_neon_asm:
  145. +function convert_7_x_to_4_0_neon_asm, export=1
  146. push {r4,lr}
  147. adr COEFF, coeff_7to4
  148. @@ -247,14 +238,12 @@ convert_7_x_to_4_0_neon_asm:
  149. bne 0b
  150. pop {r4,pc}
  151. -
  152. +endfunc
  153. coeff_5to4:
  154. .float 0.5
  155. .float 0.5
  156. - .global convert_5_x_to_4_0_neon_asm
  157. - .type convert_5_x_to_4_0_neon_asm, %function
  158. -convert_5_x_to_4_0_neon_asm:
  159. +function convert_5_x_to_4_0_neon_asm, export=1
  160. push {r4,lr}
  161. adr COEFF, coeff_5to4
  162. @@ -277,3 +266,4 @@ convert_5_x_to_4_0_neon_asm:
  163. bne 0b
  164. pop {r4,pc}
  165. +endfunc
  166. --
  167. 2.9.2