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