3.20.30 Параметры MMIX
Для MMIX определены следующие параметры:
-
-mlibfuncs -mno-libfuncs-
Указывает, что выполняется компиляция встроенных библиотечных функций; все значения передаются в регистрах независимо от их размера.
-
-mepsilon -mno-epsilon-
Генерирует инструкции сравнения чисел с плавающей точкой, использующие регистр эпсилон
rE. -
-mabi=mmixware -mabi=gnu-
Генерирует код, который передает параметры функций и возвращаемые значения, рассматриваемые в вызываемой функции как регистры
$0и выше, в отличие от GNU ABI, использующего глобальные регистры$231и выше. -
-mzero-extend -mno-zero-extend-
При чтении данных из памяти размером менее 64 бит по умолчанию использовать (не использовать) инструкции загрузки с дополнением нулями вместо инструкций с расширением знака.
-
-mknuthdiv -mno-knuthdiv-
Задает результат деления с остатком так, чтобы знак остатка совпадал со знаком делителя. При значении по умолчанию -mno-knuthdiv знак остатка совпадает со знаком делимого. Оба способа арифметически корректны, но почти всегда используется второй.
-
-mtoplevel-symbols -mno-toplevel-symbols-
Добавляет (не добавляет) символ «:» перед всеми глобальными символами, чтобы код на ассемблере можно было использовать с директивой ассемблера
PREFIX. -
-melf -
Создает исполняемый файл в формате ELF вместо формата «mmo», используемого по умолчанию симулятором
mmix. -
-mbranch-predict -mno-branch-predict-
Использует (не использует) инструкции перехода с высокой вероятностью, когда статическое предсказание переходов указывает на вероятный переход.
-
-mbase-addresses -mno-base-addresses-
Генерирует (не генерирует) код, использующий базовые адреса. Использование базового адреса автоматически создает запрос на настройку константы в глобальном регистре; этот запрос обрабатывается ассемблером и компоновщиком. Регистр используется для одного или нескольких запросов базового адреса в диапазоне от 0 до 255 относительно хранящегося в нем значения. Обычно это позволяет создавать короткий и быстрый код, но ограничивает количество адресуемых элементов данных. Поэтому для программы, использующей много статических данных, может потребоваться параметр -mno-base-addresses.
-
-msingle-exit -mno-single-exitПринудительно обеспечивает (не обеспечивает) наличие одной точки выхода в каждой функции сгенерированного кода.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/MMIX-Options.html