3.18.21 M32R/D Параметры
Эти параметры -m определены для архитектур Renesas M32R/D:
-m32r2-
Генерировать код для M32R/2.
-m32rx-
Генерировать код для M32R/X.
-m32r-
Генерировать код для M32R. Это значение по умолчанию.
-mmodel=small-
Предполагается, что все объекты находятся в нижних 16 МБ памяти (чтобы их адреса можно было загрузить с помощью инструкции
ld24), и что все подпрограммы доступны с помощью инструкцииbl. Это значение по умолчанию.Адресность конкретного объекта можно установить с помощью атрибута
model. -mmodel=medium-
Предполагается, что объекты могут находиться где угодно в 32-битном адресном пространстве (компилятор генерирует инструкции
seth/add3, чтобы загрузить их адреса), и предполагается, что все подпрограммы доступны с помощью инструкцииbl. -mmodel=large-
Предполагается, что объекты могут находиться где угодно в 32-битном адресном пространстве (компилятор генерирует инструкции
seth/add3, чтобы загрузить их адреса), и предполагается, что подпрограммы могут быть недоступны с помощью инструкцииbl(компилятор генерирует гораздо более медленную последовательность инструкцийseth/add3/jl). -msdata=none-
Отключить использование области малых данных. Переменные помещаются в одну из
.data,.bss, или.rodata(если не был указан атрибутsection). Это значение по умолчанию.Область малых данных состоит из секций
.sdataи.sbss. Объекты могут быть явно помещены в область малых данных с помощью атрибутаsectionс использованием одной из этих секций. -msdata=sdata-
Поместить малые глобальные и статические данные в область малых данных, но не генерировать специальный код для их ссылки.
-msdata=use-
Поместить малые глобальные и статические данные в область малых данных и сгенерировать специальные инструкции для их ссылки.
-G num-
Поместить глобальные и статические объекты размером не более num байт в секции малых данных или BSS вместо обычных секций данных или BSS. Значение по умолчанию для num равно 8. Параметр -msdata должен быть установлен в одно из значений ‘sdata’ или ‘use’, чтобы этот параметр имел какой-либо эффект.
Все модули должны быть скомпилированы с одинаковым значением -G num. Компиляция с разными значениями num может или не может работать; если нет, компоновщик выдает сообщение об ошибке — неправильный код не генерируется.
-mdebug-
Выводит M32R-специфический код в компиляторе, отображая некоторую статистику, которая может помочь в отладке программ.
-malign-loops-
Выравнивать все циклы на границу 32 байт.
-mno-align-loops-
Не навязывать выравнивание циклов на границу 32 байт. Это значение по умолчанию.
-missue-rate=number-
Выдавать number инструкций в цикл. number может быть только 1 или 2.
-mbranch-cost=number-
number может быть только 1 или 2. Если это 1, то предпочтение отдается ветвлениям перед условным кодом, если это 2, то наоборот.
-mflush-trap=number-
Указывает номер исключения, который использовать для очистки кэша. Значение по умолчанию равно 12. Допустимые значения находятся в диапазоне от 0 до 15 включительно.
-mno-flush-trap-
Указывает, что кэш не может быть очищен с помощью исключения.
-mflush-func=name-
Указывает имя функции операционной системы, которую вызывать для очистки кэша. Значение по умолчанию — ‘_flush_cache’, но вызов функции используется только если исключение недоступно.
-mno-flush-func-
Указывает, что функция ОС для очистки кэша отсутствует.
Далее: Параметры M680x0, Предыдущее: Параметры M32C, Вверх: Параметры подмоделей [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-7.5.0/gcc/M32R_002fD-Options.html