3.19.27 Параметры 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, вместо стандартного runtime, основанного на ROM.
-msim-
Подключает библиотеки runtime симулятора.
-msimnovec-
Подключает библиотеки runtime симулятора, исключая встроенную поддержку векторов и таблиц сброса и исключений.
-mtf-
Принудительно назначает все функции секции
.farпо умолчанию. Без этого параметра функции по умолчанию назначаются секции.near. -mtiny=n-
Переменные размером n байт или меньше распределяются по секции
.tiny. Эти переменные используют базовый регистр$gp. Значение по умолчанию для этого параметра равно 4, но обратите внимание, что для секции.tinyсуществует ограничение в 65536 байт.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/MeP-Options.html