3.19.39 Параметры picoChip ¶
Эти параметры ‘-m’ определены для реализаций picoChip:
-mae=ae_type-
Устанавливает параметры набора команд, набора регистров и планирования команд для типа элемента массива ae_type. Допустимые значения для ae_type — ‘ANY’, ‘MUL’ и ‘MAC’.
-mae=ANY выбирает полностью универсальный тип AE. Сгенерированный с этим параметром код будет работать на любом другом типе AE. Код не будет таким эффективным, как при компиляции для конкретного типа AE, и некоторые типы операций (например, умножение) не будут работать корректно на всех типах AE.
-mae=MUL выбирает тип AE MUL. Это наиболее полезный тип AE для скомпилированного кода и является значением по умолчанию.
-mae=MAC выбирает тип AE MAC в стиле DSP. Код, скомпилированный с этим параметром, может иметь низкую производительность при манипулировании байтами (char), так как AE DSP не поддерживает аппаратную загрузку/хранение байтов.
-msymbol-as-address-
Разрешает компилятору напрямую использовать имя символа как адрес в инструкции загрузки/хранения, не загружая его предварительно в регистр. Обычно использование этого параметра приводит к созданию более крупных программ, которые выполняются быстрее, чем без него. Однако результаты зависят от программы, поэтому параметр остается на усмотрение пользователя, а не постоянно включенным.
-mno-inefficient-warnings-
Отключает предупреждения о генерации неэффективного кода. Такие предупреждения могут возникать, например, при компиляции кода, выполняющего операции с памятью на уровне байтов для типа AE MAC. AE MAC не поддерживает аппаратную загрузку/хранение на уровне байтов, поэтому все загрузки/хранения байтов должны быть синтезированы из операций загрузки/хранения слов. Это неэффективно, и генерируется предупреждение, чтобы указать, что вы должны переписать код, чтобы избежать операций с байтами, или нацелить на тип AE, который поддерживает необходимые аппаратные средства. Этот параметр отключает эти предупреждения.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/picoChip-Options.html