3.18.38 Опции 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-
Сделать тип данных
doubleразмером 64 бита (-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-7.5.0/gcc/RL78-Options.html