3.17.22 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- Поместить небольшие глобальные и статические данные в массив небольших данных и сгенерировать специальные инструкции для ссылки на них.
-
-Gnum - Поместить глобальные и статические объекты размером не более num байт в секции small data или 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-4.9.4/gcc/M32R_002fD-Options.html