3.17.19 Параметры 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 - Генерировать (или нет) код, использующий инструкции fused multiply/add или multiply/subtract. По умолчанию эти инструкции используются.
-
-mno-dwarf2-asm-mdwarf2-asm - Не генерировать (или генерировать) код ассемблера для отладочной информации DWARF 2 о номерах строк. Это может быть полезно, когда не используется ассемблер 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, в жёсткий предел, не позволяя разместить более указанного количества инструкций в одной группе. В противном случае предел является «мягким», означающим, что операции, не связанные с памятью, предпочтительнее, когда достигается предел, но операции с памятью всё ещё могут быть запланированы.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-4.9.4/gcc/IA-64-Options.html