Я думаю, вы ищете ABI , двоичный интерфейс приложения.
Это собрание документов. На базовом уровне R11 действительно объявлен как «Переменный-регистр 8.».
Само по себе это не очень ограничительное определение. Реализации могут присваивать в основном любую переменную, будь то видимая программисту переменная или какая-то внутренняя вспомогательная переменная для какой-либо конкретной языковой функции, которая им нужна. Переменная Frame Pointer является полезной переменной в некоторых языках, но не во всех, и было бы стыдно жертвовать 8-м регистром переменных в реализациях, которые не требуют Frame Pointer.
Таким образом, ARM не имеет смысла делать официальное заявление о том, как R11 должен использоваться в качестве указателя кадра, а GCC не может делать официальные заявления от имени ARM.