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
La convención de arm64 se puede encontrar en http://stackoverflow.com/a/29603040/224671. – kennytm