3.19.30 Параметры MMIX ¶
Эти параметры определены для MMIX:
-mlibfuncs-mno-libfuncs-
Указывает на то, что компилируются функции из библиотеки встроенных функций, передавая все значения в регистрах, независимо от размера.
-mepsilon-mno-epsilon-
Генерирует инструкции сравнения чисел с плавающей точкой, сравнивая их относительно регистра
rEepsilon. -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-11.4.0/gcc/MMIX-Options.html