Spec-Zone.ru › GCC 12

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

Сделать тип данных 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-12.2.0/gcc/RL78-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API