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-
Генерировать код без использования регистра глобального указателя. Результат не является позиционно-независимым кодом и нарушает IA-64 ABI.
-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-
Генерировать (не генерировать) код, использующий инструкции fused multiply/add или multiply/subtract. По умолчанию используются эти инструкции.
-mno-dwarf2-asm-mdwarf2-asm-
Не генерировать (или генерировать) ассемблерный код для отладки информации о номерах строк DWARF. Это может быть полезно, когда не используется ассемблер GNU.
-mearly-stop-bits-mno-early-stop-bits-
Разрешить размещение стоп-битов раньше, чем сразу перед инструкцией, которая вызвала стоп-бит. Это может улучшить планирование инструкций, но не всегда.
-mfixed-range=register-range-
Генерировать код, рассматривая заданный диапазон регистров как фиксированные регистры. Фиксированный регистр — это регистр, который планировщик регистров не может использовать. Это полезно при компиляции кода ядра. Диапазон регистров указывается как два регистра, разделенных дефисом. Несколько диапазонов регистров могут быть указаны, разделённые запятой.
-mtls-size=tls-size-
Указать размер бита для немедленных смещений TLS. Допустимые значения — 14, 22 и 64.
-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, жёстким пределом, запрещая большее число инструкций в группе инструкций. В противном случае предел является «мягким», то есть, при достижении предела, операции, не связанные с памятью, предпочитаются, но операции с памятью всё ещё могут быть запланированы.
Следующая: Параметры LM32, Предыдущая: Параметры HPPA, Вверх: Параметры Подмоделей [Оглавление][Указатель]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/IA-64-Options.html