2011-03-13 10 views
14

Hay un similar post que cubre registros regulares. ¿Qué pasa con los registros NEON? Por lo que recuerdo, la mitad superior o la mitad inferior de los registros deben conservarse en todas las llamadas a funciones. No puedo encontrar esa información en ningún lado, ¿alguien puede aclarar eso?Convención de llamada ARM a C, registros NEON para guardar

gracias

De the AAPCS, §5.1.1 Core registers:

  • R0-R3 son los registros de argumento y rascar; R0-r1 son también el resultado se registra
  • R4-R8 están destinatario de la llamada a guardar registros
  • r9 podría ser un destinatario de la llamada-guardar registro o no (en algunas variantes de AAPCS es un registro especial)
  • R10-R11 son destinatario de la llamada a guardar registros
  • r12-r15 son registros especiales

De the AAPCS, §5.1.2.1 VFP register usage conventions (VFP v2, v3 and the Advanced SIMD Extension):

  • S16-S31 (D8-D15, Q4-P7) deben ser preservados
  • s0-s15 (D0-D7, Q0-Q3) y D16-D31 (P8-P15) no necesita ser preservado

Respuesta

13

de the AAPCS, §5.1.2.1:

  • S16-S31 (D8-D15, Q4-P7) deben ser preservados
  • s0-s15 (D0-D7, Q0-Q3) y D16-D31 (P8-P15) no necesitan para preservar
+1

La convención de arm64 se puede encontrar en http://stackoverflow.com/a/29603040/224671. – kennytm

Cuestiones relacionadas