3.17.17 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-
Не генерировать (или генерировать) код ассемблера для отладки 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, жестким ограничением, не позволяя большему количеству инструкций памяти в одной группе инструкций. В противном случае ограничение является «мягким», что означает, что операции, не связанные с памятью, предпочтительнее при достижении предела, но операции с памятью все же могут быть запланированы.
Далее: Параметры LM32, Предыдущее: Параметры HPPA, Вернуться к: Параметры подмодели [Оглавление][Индекс]
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-5.5.0/gcc/IA-64-Options.html