Spec-Zone.ru › GCC 9

3.18.23 Опции 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-9.5.0/gcc/M32R_002fD-Options.html

Spec-Zone.ru

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