Spec-Zone.ru › GCC 4

3.17.55 Опции Xtensa

Эти опции поддерживаются для целей Xtensa:

-mconst16
-mno-const16
Включить или выключить использование инструкций CONST16 для загрузки константных значений. Инструкция CONST16 в настоящее время не является стандартной опцией от Tensilica. При включении, инструкции CONST16 всегда используются вместо стандартных инструкций L32R. Использование инструкций CONST16 включается по умолчанию только в том случае, если инструкция L32R недоступна.
-mfused-madd
-mno-fused-madd
Включить или выключить использование инструкций умножения/сложения и умножения/вычитания слияния в опции с плавающей точкой. Это не влияет, если опция с плавающей точкой также не включена. Отключение инструкций умножения/сложения и умножения/вычитания слияния заставляет компилятор использовать отдельные инструкции для операций умножения и сложения/вычитания. Это может быть желательно в некоторых случаях, когда требуются строго соответствующие IEEE 754 результаты: инструкции умножения/сложения слияния не округляют промежуточный результат, тем самым производя результаты с большим количеством битов точности, чем указано в стандарте IEEE. Отключение инструкций умножения/сложения слияния также гарантирует, что вывод программы не зависит от способности компилятора объединять операции умножения и сложения/вычитания.
-mserialize-volatile
-mno-serialize-volatile
При включении этой опции GCC вставляет инструкции MEMW перед ссылками на память volatile для гарантии последовательной согласованности. По умолчанию -mserialize-volatile. Используйте -mno-serialize-volatile для пропуска инструкций MEMW.
-mforce-no-pic
Для целей, таких как GNU/Linux, где весь код Xtensa в пользовательском режиме должен быть кодом независимым от позиции (PIC), эта опция отключает PIC для компиляции ядра.
-mtext-section-literals
-mno-text-section-literals
Управление обработкой литерных пулов. По умолчанию -mno-text-section-literals, что размещает литералы в отдельном разделе в выходном файле. Это позволяет разместить литерный пул в ОЗУ/ПЗУ данных, а также позволяет компоновщику объединять литерные пулы из отдельных объектных файлов для удаления избыточных литералов и улучшения размера кода. С -mtext-section-literals, литералы вставляются в текстовый раздел, чтобы сохранить их как можно ближе к их ссылкам. Это может быть необходимо для больших файлов ассемблера.
-mtarget-align
-mno-target-align
При включении этой опции GCC сообщает ассемблеру автоматически выравнивать инструкции для уменьшения штрафов за ветвления за счёт некоторой плотности кода. Ассемблер пытается расширить инструкции плотности для выравнивания целей ветвлений и инструкций, следующих за инструкциями вызова. Если недостаточно предшествующих инструкций безопасной плотности для выравнивания цели, расширение не выполняется. По умолчанию -mtarget-align. Эти опции не влияют на обработку инструкций с автоматическим выравниванием, таких как LOOP, которые ассемблер всегда выравнивает, либо расширяя инструкции плотности, либо вставляя инструкции NOP.
-mlongcalls
-mno-longcalls
При включении этой опции GCC сообщает ассемблеру переводить прямые вызовы в косвенные, если он не может определить, что целевой адрес прямого вызова находится в диапазоне, разрешённом инструкцией вызова. Этот перевод обычно происходит для вызовов функций в других исходных файлах. В частности, ассемблер переводит прямую инструкцию CALL в L32R, за которой следует инструкция CALLX. По умолчанию -mno-longcalls. Эта опция должна использоваться в программах, где целевой вызов потенциально может быть вне диапазона. Эта опция реализована в ассемблере, а не в компиляторе, поэтому сгенерированный GCC код ассемблера по-прежнему показывает прямые инструкции вызова - смотрите дизассемблированный объектный код, чтобы увидеть фактические инструкции. Обратите внимание, что ассемблер использует косвенный вызов для каждого межфайлового вызова, а не только для тех, которые действительно выходят за пределы диапазона.

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

Spec-Zone.ru

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