3.19.21 Опции IA-64 ¶
Это опции ‘-m’, определённые для архитектуры Intel IA-64.
-mbig-endian-
Генерировать код для целевой системы с порядком байтов «большая эндианность». Это значение по умолчанию для HP-UX.
-mlittle-endian-
Генерировать код для целевой системы с порядком байтов «маленькая эндианность». Это значение по умолчанию для AIX5 и GNU/Linux.
-mgnu-as-mno-gnu-as-
Генерировать (или нет) код для ассемблера GNU. Это значение по умолчанию.
-mgnu-ld-mno-gnu-ld-
Генерировать (или нет) код для компоновщика GNU. Это значение по умолчанию.
-mno-pic-
Генерировать код, не использующий регистр глобальной ссылки. Результат – не позиционно-независимый код, и нарушает ABI IA-64.
-mvolatile-asm-stop-mno-volatile-asm-stop-
Генерировать (или нет) стоп-бит непосредственно перед и после инструкций volatile asm.
-mregister-names-mno-register-names-
Генерировать (или нет) имена регистров ‘in’, ‘loc’, и ‘out’ для стековых регистров. Это может сделать вывод ассемблера более читабельным.
-mno-sdata-msdata-
Отключить (или включить) оптимизации, использующие небольшой раздел данных. Это может быть полезно для решения проблем с оптимизатором.
-mconstant-gp-
Генерировать код, использующий единственное постоянное значение глобальной ссылки. Это полезно при компиляции кода ядра.
-mauto-pic-
Генерировать код, подлежащий самоперемещению. Это подразумевает -mconstant-gp. Это полезно при компиляции кода прошивки.
-minline-float-divide-min-latency-
Генерировать код для встроенных делений с плавающей точкой, используя алгоритм минимальной задержки.
-minline-float-divide-max-throughput-
Генерировать код для встроенных делений с плавающей точкой, используя алгоритм максимальной пропускной способности.
-mno-inline-float-divide-
Не генерировать встроенный код для делений с плавающей точкой.
-minline-int-divide-min-latency-
Генерировать код для встроенных делений целых чисел, используя алгоритм минимальной задержки.
-minline-int-divide-max-throughput-
Генерировать код для встроенных делений целых чисел, используя алгоритм максимальной пропускной способности.
-mno-inline-int-divide-
Не генерировать встроенный код для делений целых чисел.
-minline-sqrt-min-latency-
Генерировать код для встроенных извлечений квадратного корня, используя алгоритм минимальной задержки.
-minline-sqrt-max-throughput-
Генерировать код для встроенных извлечений квадратного корня, используя алгоритм максимальной пропускной способности.
-mno-inline-sqrt-
Не генерировать встроенный код для
sqrt. -mfused-madd-mno-fused-madd-
Генерировать (или нет) код, использующий инструкции умножения/сложения или умножения/вычитания с плавающей точкой. Значение по умолчанию – использовать эти инструкции.
-mno-dwarf2-asm-mdwarf2-asm-
Не генерировать (или генерировать) код ассемблера для отладки DWAF номеров строк. Это может быть полезно при неиспользовании ассемблера GNU.
-mearly-stop-bits-mno-early-stop-bits-
Разрешить размещение стоп-битов раньше, чем непосредственно перед инструкцией, вызвавшей стоп-бит. Это может улучшить планирование инструкций, но не всегда это делает.
-mfixed-range=register-range-
Генерировать код, рассматривая заданный диапазон регистров как фиксированные регистры. Фиксированный регистр – это регистр, который планировщик регистров не может использовать. Это полезно при компиляции кода ядра. Диапазон регистров задаётся как два регистра, разделённых дефисом. Несколько диапазонов регистров могут быть указаны, разделённые запятыми.
-mtls-size=tls-size-
Указать размер в битах смещений TLS констант.
-mtune=cpu-type-
Настроить планирование инструкций для конкретного процессора. Допустимые значения: ‘itanium’, ‘itanium1’, ‘merced’, ‘itanium2’, и ‘mckinley’.
-milp32-mlp64-
Генерировать код для 32-разрядной или 64-разрядной среды. 32-разрядная среда устанавливает int, long и указатель на 32 бита. 64-разрядная среда устанавливает int на 32 бита, а long и указатель на 64 бита. Это флаги, специфичные для HP-UX.
-mno-sched-br-data-spec-msched-br-data-spec-
(От/Вкл)ючить спекулятивное планирование данных перед перезагрузкой. Это приводит к генерации инструкций
ld.aи соответствующих проверочных инструкций (ld.c/chk.a). Значение по умолчанию выключено. -msched-ar-data-spec-mno-sched-ar-data-spec-
(Вкл/Выкл)ючить спекулятивное планирование данных после перезагрузки. Это приводит к генерации инструкций
ld.aи соответствующих проверочных инструкций (ld.c/chk.a). Значение по умолчанию включено. -mno-sched-control-spec-msched-control-spec-
(От/Вкл)ючить спекулятивное планирование управления. Эта функция доступна только во время планирования области (т.е. перед перезагрузкой). Это приводит к генерации инструкций
ld.sи соответствующих проверочных инструкцийchk.s. Значение по умолчанию – выключено. -msched-br-in-data-spec-mno-sched-br-in-data-spec-
(Вкл/Выкл)ючить спекулятивное планирование инструкций, зависящих от спекулятивных загрузках данных перед перезагрузкой. Это эффективно только при включённом -msched-br-data-spec. Значение по умолчанию – включено.
-msched-ar-in-data-spec-mno-sched-ar-in-data-spec-
(Вкл/Выкл)ючить спекулятивное планирование инструкций, зависящих от спекулятивных загрузках данных после перезагрузки. Это эффективно только при включённом -msched-ar-data-spec. Значение по умолчанию – включено.
-msched-in-control-spec-mno-sched-in-control-spec-
(Вкл/Выкл)ючить спекулятивное планирование инструкций, зависящих от спекулятивных загрузках управления. Это эффективно только при включённом -msched-control-spec. Значение по умолчанию – включено.
-mno-sched-prefer-non-data-spec-insns-msched-prefer-non-data-spec-insns-
Если включено, спекулятивные инструкции данных выбираются для планирования только если в данный момент нет других вариантов. Это делает использование спекуляции данных более консервативным. Значение по умолчанию – выключено.
-mno-sched-prefer-non-control-spec-insns-msched-prefer-non-control-spec-insns-
Если включено, спекулятивные инструкции управления выбираются для планирования только если в данный момент нет других вариантов. Это делает использование спекуляции управления более консервативным. Значение по умолчанию – выключено.
-mno-sched-count-spec-in-critical-path-msched-count-spec-in-critical-path-
Если включено, спекулятивные зависимости учитываются при вычислении приоритетов инструкций. Это делает использование спекуляции немного более консервативным. Значение по умолчанию – выключено.
-msched-spec-ldc-
Использовать простую проверку спекуляции данных. Эта опция включена по умолчанию.
-msched-control-spec-ldc-
Использовать простую проверку спекуляции управления. Эта опция включена по умолчанию.
-msched-stop-bits-after-every-cycle-
Поместить стоп-бит после каждого цикла при планировании. Эта опция включена по умолчанию.
-msched-fp-mem-deps-zero-cost-
Предполагать, что сохранения и загрузки с плавающей точкой вряд ли вызовут конфликт при размещении в одной группе инструкций. Эта опция выключена по умолчанию.
-msel-sched-dont-check-control-spec-
Генерировать проверки спекуляции управления в селективном планировании. Этот флаг отключён по умолчанию.
-msched-max-memory-insns=max-insns-
Ограничение на количество инструкций памяти на группу инструкций, присваивая более низкий приоритет последующим инструкциям памяти, пытающимся планироваться в той же группе. Часто полезно для предотвращения конфликтов в банках кэша. Значение по умолчанию – 1.
-msched-max-memory-insns-hard-limit-
Делает ограничение, заданное параметром msched-max-memory-insns, жёстким ограничением, запрещая большее количество инструкций в группе инструкций. В противном случае, ограничение «мягкое», означающее, что операции, не связанные с памятью, предпочтительны при достижении ограничения, но операции с памятью всё ещё могут планироваться.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-10.5.0/gcc/IA-64-Options.html