trampoline-x86.S 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206
  1. // This file is generated from a similarly-named Perl script in the BoringSSL
  2. // source tree. Do not edit by hand.
  3. #if defined(__i386__)
  4. #if defined(BORINGSSL_PREFIX)
  5. #include <boringssl_prefix_symbols_asm.h>
  6. #endif
  7. .text
  8. .globl abi_test_trampoline
  9. .hidden abi_test_trampoline
  10. .type abi_test_trampoline,@function
  11. .align 16
  12. abi_test_trampoline:
  13. .L_abi_test_trampoline_begin:
  14. pushl %ebp
  15. pushl %ebx
  16. pushl %esi
  17. pushl %edi
  18. movl 24(%esp),%ecx
  19. movl (%ecx),%esi
  20. movl 4(%ecx),%edi
  21. movl 8(%ecx),%ebx
  22. movl 12(%ecx),%ebp
  23. subl $44,%esp
  24. movl 72(%esp),%eax
  25. xorl %ecx,%ecx
  26. .L000loop:
  27. cmpl 76(%esp),%ecx
  28. jae .L001loop_done
  29. movl (%eax,%ecx,4),%edx
  30. movl %edx,(%esp,%ecx,4)
  31. addl $1,%ecx
  32. jmp .L000loop
  33. .L001loop_done:
  34. call *64(%esp)
  35. addl $44,%esp
  36. movl 24(%esp),%ecx
  37. movl %esi,(%ecx)
  38. movl %edi,4(%ecx)
  39. movl %ebx,8(%ecx)
  40. movl %ebp,12(%ecx)
  41. popl %edi
  42. popl %esi
  43. popl %ebx
  44. popl %ebp
  45. ret
  46. .size abi_test_trampoline,.-.L_abi_test_trampoline_begin
  47. .globl abi_test_get_and_clear_direction_flag
  48. .hidden abi_test_get_and_clear_direction_flag
  49. .type abi_test_get_and_clear_direction_flag,@function
  50. .align 16
  51. abi_test_get_and_clear_direction_flag:
  52. .L_abi_test_get_and_clear_direction_flag_begin:
  53. pushfl
  54. popl %eax
  55. andl $1024,%eax
  56. shrl $10,%eax
  57. cld
  58. ret
  59. .size abi_test_get_and_clear_direction_flag,.-.L_abi_test_get_and_clear_direction_flag_begin
  60. .globl abi_test_set_direction_flag
  61. .hidden abi_test_set_direction_flag
  62. .type abi_test_set_direction_flag,@function
  63. .align 16
  64. abi_test_set_direction_flag:
  65. .L_abi_test_set_direction_flag_begin:
  66. std
  67. ret
  68. .size abi_test_set_direction_flag,.-.L_abi_test_set_direction_flag_begin
  69. .globl abi_test_clobber_eax
  70. .hidden abi_test_clobber_eax
  71. .type abi_test_clobber_eax,@function
  72. .align 16
  73. abi_test_clobber_eax:
  74. .L_abi_test_clobber_eax_begin:
  75. xorl %eax,%eax
  76. ret
  77. .size abi_test_clobber_eax,.-.L_abi_test_clobber_eax_begin
  78. .globl abi_test_clobber_ebx
  79. .hidden abi_test_clobber_ebx
  80. .type abi_test_clobber_ebx,@function
  81. .align 16
  82. abi_test_clobber_ebx:
  83. .L_abi_test_clobber_ebx_begin:
  84. xorl %ebx,%ebx
  85. ret
  86. .size abi_test_clobber_ebx,.-.L_abi_test_clobber_ebx_begin
  87. .globl abi_test_clobber_ecx
  88. .hidden abi_test_clobber_ecx
  89. .type abi_test_clobber_ecx,@function
  90. .align 16
  91. abi_test_clobber_ecx:
  92. .L_abi_test_clobber_ecx_begin:
  93. xorl %ecx,%ecx
  94. ret
  95. .size abi_test_clobber_ecx,.-.L_abi_test_clobber_ecx_begin
  96. .globl abi_test_clobber_edx
  97. .hidden abi_test_clobber_edx
  98. .type abi_test_clobber_edx,@function
  99. .align 16
  100. abi_test_clobber_edx:
  101. .L_abi_test_clobber_edx_begin:
  102. xorl %edx,%edx
  103. ret
  104. .size abi_test_clobber_edx,.-.L_abi_test_clobber_edx_begin
  105. .globl abi_test_clobber_edi
  106. .hidden abi_test_clobber_edi
  107. .type abi_test_clobber_edi,@function
  108. .align 16
  109. abi_test_clobber_edi:
  110. .L_abi_test_clobber_edi_begin:
  111. xorl %edi,%edi
  112. ret
  113. .size abi_test_clobber_edi,.-.L_abi_test_clobber_edi_begin
  114. .globl abi_test_clobber_esi
  115. .hidden abi_test_clobber_esi
  116. .type abi_test_clobber_esi,@function
  117. .align 16
  118. abi_test_clobber_esi:
  119. .L_abi_test_clobber_esi_begin:
  120. xorl %esi,%esi
  121. ret
  122. .size abi_test_clobber_esi,.-.L_abi_test_clobber_esi_begin
  123. .globl abi_test_clobber_ebp
  124. .hidden abi_test_clobber_ebp
  125. .type abi_test_clobber_ebp,@function
  126. .align 16
  127. abi_test_clobber_ebp:
  128. .L_abi_test_clobber_ebp_begin:
  129. xorl %ebp,%ebp
  130. ret
  131. .size abi_test_clobber_ebp,.-.L_abi_test_clobber_ebp_begin
  132. .globl abi_test_clobber_xmm0
  133. .hidden abi_test_clobber_xmm0
  134. .type abi_test_clobber_xmm0,@function
  135. .align 16
  136. abi_test_clobber_xmm0:
  137. .L_abi_test_clobber_xmm0_begin:
  138. pxor %xmm0,%xmm0
  139. ret
  140. .size abi_test_clobber_xmm0,.-.L_abi_test_clobber_xmm0_begin
  141. .globl abi_test_clobber_xmm1
  142. .hidden abi_test_clobber_xmm1
  143. .type abi_test_clobber_xmm1,@function
  144. .align 16
  145. abi_test_clobber_xmm1:
  146. .L_abi_test_clobber_xmm1_begin:
  147. pxor %xmm1,%xmm1
  148. ret
  149. .size abi_test_clobber_xmm1,.-.L_abi_test_clobber_xmm1_begin
  150. .globl abi_test_clobber_xmm2
  151. .hidden abi_test_clobber_xmm2
  152. .type abi_test_clobber_xmm2,@function
  153. .align 16
  154. abi_test_clobber_xmm2:
  155. .L_abi_test_clobber_xmm2_begin:
  156. pxor %xmm2,%xmm2
  157. ret
  158. .size abi_test_clobber_xmm2,.-.L_abi_test_clobber_xmm2_begin
  159. .globl abi_test_clobber_xmm3
  160. .hidden abi_test_clobber_xmm3
  161. .type abi_test_clobber_xmm3,@function
  162. .align 16
  163. abi_test_clobber_xmm3:
  164. .L_abi_test_clobber_xmm3_begin:
  165. pxor %xmm3,%xmm3
  166. ret
  167. .size abi_test_clobber_xmm3,.-.L_abi_test_clobber_xmm3_begin
  168. .globl abi_test_clobber_xmm4
  169. .hidden abi_test_clobber_xmm4
  170. .type abi_test_clobber_xmm4,@function
  171. .align 16
  172. abi_test_clobber_xmm4:
  173. .L_abi_test_clobber_xmm4_begin:
  174. pxor %xmm4,%xmm4
  175. ret
  176. .size abi_test_clobber_xmm4,.-.L_abi_test_clobber_xmm4_begin
  177. .globl abi_test_clobber_xmm5
  178. .hidden abi_test_clobber_xmm5
  179. .type abi_test_clobber_xmm5,@function
  180. .align 16
  181. abi_test_clobber_xmm5:
  182. .L_abi_test_clobber_xmm5_begin:
  183. pxor %xmm5,%xmm5
  184. ret
  185. .size abi_test_clobber_xmm5,.-.L_abi_test_clobber_xmm5_begin
  186. .globl abi_test_clobber_xmm6
  187. .hidden abi_test_clobber_xmm6
  188. .type abi_test_clobber_xmm6,@function
  189. .align 16
  190. abi_test_clobber_xmm6:
  191. .L_abi_test_clobber_xmm6_begin:
  192. pxor %xmm6,%xmm6
  193. ret
  194. .size abi_test_clobber_xmm6,.-.L_abi_test_clobber_xmm6_begin
  195. .globl abi_test_clobber_xmm7
  196. .hidden abi_test_clobber_xmm7
  197. .type abi_test_clobber_xmm7,@function
  198. .align 16
  199. abi_test_clobber_xmm7:
  200. .L_abi_test_clobber_xmm7_begin:
  201. pxor %xmm7,%xmm7
  202. ret
  203. .size abi_test_clobber_xmm7,.-.L_abi_test_clobber_xmm7_begin
  204. #endif
  205. .section .note.GNU-stack,"",@progbits