3.19.17 FRV Options ¶
-mgpr-32-
Использовать только первые 32 регистра общего назначения.
-mgpr-64-
Использовать все 64 регистра общего назначения.
-mfpr-32-
Использовать только первые 32 регистра с плавающей точкой.
-mfpr-64-
Использовать все 64 регистра с плавающей точкой.
-mhard-float-
Использовать аппаратные инструкции для операций с плавающей точкой.
-msoft-float-
Использовать библиотечные функции для операций с плавающей точкой.
-malloc-cc-
Динамически выделять регистры кода условия.
-mfixed-cc-
Не пытаться динамически выделять регистры кода условия, использовать только
icc0иfcc0. -mdword-
Изменить ABI для использования инструкций с двойной длиной.
-mno-dword-
Не использовать инструкции с двойной длиной.
-mdouble-
Использовать инструкции с плавающей точкой двойной точности.
-mno-double-
Не использовать инструкции с плавающей точкой двойной точности.
-mmedia-
Использовать инструкции для обработки медиаданных.
-mno-media-
Не использовать инструкции для обработки медиаданных.
-mmuladd-
Использовать инструкции умножения и сложения/вычитания.
-mno-muladd-
Не использовать инструкции умножения и сложения/вычитания.
-mfdpic-
Выбрать ABI FDPIC, который использует описатели функций для представления указателей на функции. Без каких-либо опций, связанных с PIC/PIE, это подразумевает -fPIE. С -fpic или -fpie предполагается, что записи GOT и небольшие данные находятся в диапазоне 12 бит от адреса базы GOT; с -fPIC или -fPIE смещения GOT вычисляются с использованием 32 бит. С целевым значением «bfin-elf» эта опция подразумевает -msim.
-minline-plt-
Включить встраивание записей PLT в вызовах функций, которые неизвестны для локальной привязки. Без -mfdpic не оказывает никакого эффекта. По умолчанию включено, если оптимизация настроена на скорость и компиляция для общих библиотек (т. е. -fPIC или -fpic), или когда в командной строке присутствует опция оптимизации, например, -O3 или выше.
-mTLS-
Предположить большой сегмент TLS при генерации кода для потоков.
-mtls-
Не предполагать большой сегмент TLS при генерации кода для потоков.
-mgprel-ro-
Включить использование перестроек
GPRELв ABI FDPIC для данных, которые известны как находящиеся в разделах только для чтения. По умолчанию включено, за исключением -fpic или -fpie: хотя это может помочь сделать таблицу глобальных смещений меньше, это обменивает 1 инструкцию на 4. С -fPIC или -fPIE это обменивает 3 инструкции на 4, одна из которых может быть общей для нескольких символов, и это устраняет необходимость в записи GOT для указанного символа, поэтому это, скорее всего, выиграет. Если нет, -mno-gprel-ro можно использовать для отключения. -multilib-library-pic-
Связывать с библиотеками pic (не FD). Подразумевается -mlibrary-pic, а также -fPIC и -fpic без -mfdpic. Вам никогда не придётся использовать его явно.
-mlinked-fp-
Выполнять требование EABI о всегда создании указателя на кадр, когда выделяется кадр стека. Эта опция включена по умолчанию и может быть отключена с помощью -mno-linked-fp.
-mlong-calls-
Использовать косвенный доступ для вызова функций за пределами текущей единицы компиляции. Это позволяет размещать функции в любом месте адресного пространства 32 бит.
-malign-labels-
Пытаться выровнять метки на границе 8 байт, вставляя NOP в предыдущий пакет. Эта опция действует только при включенном пакетировании VLIW. Она не создаёт новых пакетов; она просто добавляет NOP в существующие.
-mlibrary-pic-
Генерировать позиционно-независимый код EABI.
-macc-4-
Использовать только первые четыре регистра аккумуляторов медиаданных.
-macc-8-
Использовать все восемь регистров аккумуляторов медиаданных.
-mpack-
Пакетные инструкции VLIW.
-mno-pack-
Не упаковывать инструкции VLIW.
-mno-eflags-
Не помечать переключения ABI в e_flags.
-mcond-move-
Включить использование инструкций условного перемещения (по умолчанию).
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-cond-move-
Отключить использование инструкций условного перемещения.
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mscc-
Включить использование инструкций условной установки (по умолчанию).
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-scc-
Отключить использование инструкций условной установки.
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mcond-exec-
Включить использование условного выполнения (по умолчанию).
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-cond-exec-
Отключить использование условного выполнения.
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mvliw-branch-
Запустить этап для упаковки ветвлений в инструкции VLIW (по умолчанию).
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-vliw-branch-
Не запускать этап для упаковки ветвлений в инструкции VLIW.
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mmulti-cond-exec-
Включить оптимизацию
&&и||в условном выполнении (по умолчанию).Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-multi-cond-exec-
Отключить оптимизацию
&&и||в условном выполнении.Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mnested-cond-exec-
Включить оптимизации вложенного условного выполнения (по умолчанию).
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-mno-nested-cond-exec-
Отключить оптимизации вложенного условного выполнения.
Этот переключатель в основном предназначен для отладки компилятора и, вероятно, будет удалён в будущих версиях.
-moptimize-membar-
Этот переключатель удаляет из сгенерированного кода лишние инструкции
membar. Он включён по умолчанию. -mno-optimize-membar-
Этот переключатель отключает автоматическое удаление из сгенерированного кода лишних инструкций
membar. -mtomcat-stats-
Заставляет gas печатать статистику tomcat.
-mcpu=cpu-
Выбрать тип процессора, для которого генерируется код. Возможные значения: ‘frv’, ‘fr550’, ‘tomcat’, ‘fr500’, ‘fr450’, ‘fr405’, ‘fr400’, ‘fr300’ и ‘simple’.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/FRV-Options.html