Spec-Zone.ru › GCC 15

3.20.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

Не генерировать (или генерировать) ассемблерный код для отладочной информации о номерах строк 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, жёстким: в группе инструкций запрещено размещать больше инструкций, чем указано. В противном случае ограничение является «мягким»: при его достижении предпочтение отдаётся операциям, не связанным с памятью, но операции с памятью всё ещё могут быть запланированы.

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-15.3.0/gcc/IA_002d64-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API