Spec-Zone.ru › GCC 6

3.18.24 Варианты MeP

-mabsdiff

Включает инструкцию abs, которая вычисляет абсолютную разницу между двумя регистрами.

-mall-opts

Включает все необязательные инструкции — среднее арифметическое, умножение, деление, побитовые операции, поиск старшего нуля, абсолютную разницу, min/max, обрезку и насыщение.

-maverage

Включает инструкцию ave, которая вычисляет среднее арифметическое двух регистров.

-mbased=n

Переменные размером до n байтов по умолчанию размещаются в разделе .based. Базовые переменные используют регистр $tp в качестве базового регистра, и раздел .based имеет ограничение в 128 байт.

-mbitops

Включает инструкции побитовых операций — проверку бита (btstm), установку (bsetm), сброс (bclrm), инверсию (bnotm) и проверку и установку (tas).

-mc=name

Выбирает раздел для размещения константных данных. name может быть ‘tiny’, ‘near’, или ‘far’.

-mclip

Включает инструкцию clip. Обратите внимание, что -mclip бесполезен, если не указан также -mminmax.

-mconfig=name

Выбирает одну из встроенных конфигураций ядра. Каждый чип MeP содержит один или несколько модулей; каждый модуль имеет ядро процессора и различные сопроцессоры, необязательные инструкции и периферийные устройства. Инструмент MeP-Integrator, не являющийся частью GCC, предоставляет эти конфигурации через этот параметр; использование этого параметра эквивалентно использованию всех соответствующих параметров командной строки. По умолчанию используется конфигурация ‘default’.

-mcop

Включает инструкции сопроцессора. По умолчанию это 32-битный сопроцессор. Обратите внимание, что сопроцессор обычно включается с помощью параметра -mconfig=.

-mcop32

Включает инструкции 32-битного сопроцессора.

-mcop64

Включает инструкции 64-битного сопроцессора.

-mivc2

Включает планирование IVC2. IVC2 — это 64-битный VLIW сопроцессор.

-mdc

Размещает константные переменные в разделе .near.

-mdiv

Включает инструкции div и divu.

-meb

Генерирует код big-endian.

-mel

Генерирует код little-endian.

-mio-volatile

Указывает компилятору, что любая переменная, помеченная атрибутом io, должна рассматриваться как volatile.

-ml

По умолчанию переменные назначаются в раздел .far.

-mleadz

Включает инструкцию leadz (поиск старшего нуля).

-mm

По умолчанию переменные назначаются в раздел .near.

-mminmax

Включает инструкции min и max.

-mmult

Включает инструкции умножения и умножения-складывания.

-mno-opts

Отключает все необязательные инструкции, включенные параметром -mall-opts.

-mrepeat

Включает инструкции repeat и erepeat, используемые для циклов с низкой загрузкой.

-ms

По умолчанию все переменные размещаются в разделе .tiny. Обратите внимание, что этот раздел имеет ограничение в 65536 байт. Доступ к этим переменным осуществляется с помощью базового регистра %gp.

-msatur

Включает инструкции насыщения. Обратите внимание, что компилятор пока не генерирует их сам, но этот параметр включен для совместимости с другими инструментами, такими как as.

-msdram

Подключает runtime, основанный на SDRAM, вместо стандартного ROM-based runtime.

-msim

Подключает библиотеки симулятора runtime.

-msimnovec

Подключает библиотеки симулятора runtime, исключая встроенную поддержку векторов и таблиц сброса и исключений.

-mtf

По умолчанию все функции размещаются в разделе .far. Без этого параметра функции по умолчанию размещаются в разделе .near.

-mtiny=n

Переменные размером до n байтов размещаются в разделе .tiny. Эти переменные используют базовый регистр $gp. Значение по умолчанию для этого параметра равно 4, но обратите внимание на ограничение в 65536 байт для раздела .tiny.

Далее: Параметры MicroBlaze, Предыдущее: Параметры MCore, Вверх: Параметры подмоделей [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-6.5.0/gcc/MeP-Options.html

Spec-Zone.ru

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