3.19.44 Параметры RL78
-msim-
Ссылки в дополнительных целевых библиотеках для поддержки работы в симуляторе.
-mmul=none-mmul=g10-mmul=g13-mmul=g14-mmul=rl78-
Указывает тип аппаратной поддержки умножения и деления. Самый простой —
none, который использует программное обеспечение для умножения и деления. Это значение по умолчанию. Значениеg13предназначено для периферийного устройства аппаратного умножения/деления, доступного на целевых системах RL78/G13 (ядро S2). Значениеg14выбирает использование инструкций умножения и деления, поддерживаемых компонентами RL78/G14 (ядро S3). Значениеrl78является псевдонимом дляg14, а значениеmg10является псевдонимом дляnone.Кроме того, определяется макрос препроцессора C, основанный на настройке этого параметра. Возможные значения:
__RL78_MUL_NONE__,__RL78_MUL_G13__или__RL78_MUL_G14__. -mcpu=g10-mcpu=g13-mcpu=g14-mcpu=rl78-
Указывает целевое ядро RL78. По умолчанию используется ядро G14, также известное как ядро S3 или просто RL78. Ядро G13 или S2 не имеет инструкций умножения и деления, вместо этого оно использует периферийное устройство для этих операций. Ядро G10 или S1 не имеет регистровых банков, поэтому оно использует другую соглашение о вызовах.
Если этот параметр задан, он также выбирает тип аппаратной поддержки умножения, если это не переопределено явным параметром -mmul=none в командной строке. Таким образом, указание -mcpu=g13 включает использование периферийного устройства аппаратного умножения G13, а указание -mcpu=g10 полностью отключает использование аппаратного умножения.
Обратите внимание, что, хотя ядро RL78/G14 является целевым по умолчанию, указание -mcpu=g14 или -mcpu=rl78 в командной строке изменяет поведение инструментальной цепочки, так как оно также включает поддержку аппаратного умножения G14. Если эти параметры не указаны в командной строке, будут использоваться программные процедуры умножения, даже если код нацелен на ядро RL78. Это сделано для обратной совместимости со старыми инструментальными цепочками, которые не имели аппаратной поддержки умножения и деления.
Кроме того, определяется макрос препроцессора C, основанный на настройке этого параметра. Возможные значения:
__RL78_G10__,__RL78_G13__или__RL78_G14__. -mg10-mg13-mg14-mrl78-
Это псевдонимы для соответствующего параметра -mcpu=. Они предоставлены для обратной совместимости.
-mallregs-
Разрешить компилятору использовать все доступные регистры. По умолчанию регистры
r24..r31зарезервированы для использования в обработчиках прерываний. При включении этого параметра эти регистры также можно использовать в обычных функциях. -m64bit-doubles-m32bit-doubles-
Сделать тип данных
double64-битным (-m64bit-doubles) или 32-битным (-m32bit-doubles). По умолчанию используется -m32bit-doubles. -msave-mduc-in-interrupts-mno-save-mduc-in-interrupts-
Указывает, что функции обработчиков прерываний должны сохранять регистры MDUC. Это необходимо только в том случае, если обычный код может использовать регистры MDUC, например, потому что он выполняет операции умножения и деления. По умолчанию регистры MDUC игнорируются, так как это ускоряет обработчики прерываний. Для работы этой функции необходимо передать целевой параметр -mg13, так как эта функция доступна только для целевой системы G13 (ядро S2). Регистры MDUC будут сохранены только в том случае, если обработчик прерываний выполняет операцию умножения или деления или вызывает другую функцию.
Далее: Параметры RS/6000 и PowerPC, Предыдущий: Параметры RISC-V, Вверх: Параметры подмоделей [Содержание][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/RL78-Options.html