3.19.24 Параметры 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 -
Выводит некоторые статистические данные, которые могут помочь в отладке программ.
-
-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-13.3.0/gcc/M32R_002fD-Options.html