Има подобна публикация, която обхваща обикновените регистри. Ами регистрите NEON. Доколкото си спомням, или горната половина, или долната половина на регистрите трябва да бъдат запазени при извиквания на функции. Никъде не мога да намеря тази информация, може ли някой да изясни това?
Благодаря
От AAPCS, §5.1.1 Основни регистри:
- r0-r3 са регистрите на аргументите и скреч; r0-r1 също са регистрите за резултати
- r4-r8 са регистри за запазване на извиквания
- r9 може да е регистър за запазване на извиквания или не (при някои варианти на AAPCS това е специален регистър)
- r10-r11 са регистри за запазване на извиквания
- r12-r15 са специални регистри
От AAPCS, §5.1.2.1 Конвенции за използване на регистрите на VFP (VFP v2, v3 и Advanced SIMD Extension):
- s16–s31 (d8–d15, q4–q7) трябва да се запази
- s0–s15 (d0–d7, q0–q3) и d16–d31 (q8–q15) не е необходимо да се запазват
5.1.2.1 VFP register usage conventions (VFP v2, v3 and the Advanced SIMD Extension)
обхващаFPSCR
, но не е ясно дали трябва да направите нещо, за да го запазите или не. - person Pavel P   schedule 18.10.2018