Spec-Zone.ru › GCC 8

3.18.39 Параметры 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-8.5.0/gcc/RL78-Options.html

Spec-Zone.ru

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