3.19.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-
Генерировать (не генерировать) код, использующий инструкции fused multiply/add или multiply/subtract. По умолчанию используются эти инструкции.
-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-11.4.0/gcc/IA-64-Options.html