3.20.25 Параметры M32R/D
Для архитектур Renesas M32R/D определены следующие параметры -m:
-
-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 -
Указывает, что в операционной системе нет функции для очистки кэша.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/M32R_002fD-Options.html