Spec-Zone.ru › GCC 13

3.19.20 Параметры 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-13.3.0/gcc/IA_002d64-Options.html

Spec-Zone.ru

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