Spec-Zone.ru › GCC 11

Далее: Параметры VAX, Предыдущее: Параметры TILEPro, Вверх: Зависимые от машины параметры [Оглавление][Индекс]

3.19.54 Параметры V850 ¶

Эти параметры ‘-m’ определены для реализаций V850:

-mlong-calls
-mno-long-calls

Обрабатывать все вызовы как удалённые (близкие). Если вызовы предполагаются удалёнными, компилятор всегда загружает адрес функции в регистр и выполняет вызовы косвенно через указатель.

-mno-ep
-mep

Не оптимизировать (оптимизировать) базовые блоки, использующие тот же указатель индекса 4 или более раз, для копирования указателя в регистр ep, и использовать более короткие инструкции sld и sst. Параметр -mep включён по умолчанию при оптимизации.

-mno-prolog-function
-mprolog-function

Не использовать (использовать) внешние функции для сохранения и восстановления регистров в прологе и эпилоге функции. Внешние функции медленнее, но занимают меньше места в коде, если несколько функций сохраняют одинаковое количество регистров. Параметр -mprolog-function включён по умолчанию при оптимизации.

-mspace

Постараться сделать код как можно меньше. В настоящее время это просто включает параметры -mep и -mprolog-function.

-mtda=n

Размещать статические или глобальные переменные размером в n байт или меньше в небольшой области данных, на которую указывает регистр ep. Маленькая область данных может содержать до 256 байт в общей сложности (128 байт для байтовых ссылок).

-msda=n

Размещать статические или глобальные переменные размером в n байт или меньше в небольшой области данных, на которую указывает регистр gp. Маленькая область данных может содержать до 64 килобайт.

-mzda=n

Размещать статические или глобальные переменные размером в n байт или меньше в первых 32 килобайтах памяти.

-mv850

Указать, что целевой процессор — V850.

-mv850e3v5

Указать, что целевой процессор — V850E3V5. Если используется этот параметр, препроцессорная константа __v850e3v5__ определена.

-mv850e2v4

Указать, что целевой процессор — V850E3V5. Это псевдоним для параметра -mv850e3v5.

-mv850e2v3

Указать, что целевой процессор — V850E2V3. Если используется этот параметр, препроцессорная константа __v850e2v3__ определена.

-mv850e2

Указать, что целевой процессор — V850E2. Если используется этот параметр, препроцессорная константа __v850e2__ определена.

-mv850e1

Указать, что целевой процессор — V850E1. Если используется этот параметр, препроцессорные константы __v850e1__ и __v850e__ определены.

-mv850es

Указать, что целевой процессор — V850ES. Это псевдоним для параметра -mv850e1.

-mv850e

Указать, что целевой процессор — V850E. Если используется этот параметр, препроцессорная константа __v850e__ определена.

Если ни -mv850, ни -mv850e, ни -mv850e1, ни -mv850e2, ни -mv850e2v3, ни -mv850e3v5 не определены, выбирается целевой процессор по умолчанию, и соответствующая препроцессорная константа ‘__v850*__’ определена.

Препроцессорные константы __v850 и __v851__ всегда определены, независимо от того, какой вариант процессора является целевым.

-mdisable-callt
-mno-disable-callt

Этот параметр подавляет генерацию инструкции CALLT для вариантов архитектуры v850: v850e, v850e1, v850e2, v850e2v3 и v850e3v5.

Этот параметр включён по умолчанию, когда используется ABI RH850 (см. -mrh850-abi), и отключён по умолчанию при использовании ABI GCC. Если инструкции CALLT генерируются, то символ препроцессора C __V850_CALLT__ определён.

-mrelax
-mno-relax

Передать (или не передать) параметр командной строки -mrelax ассемблеру.

-mlong-jumps
-mno-long-jumps

Отключить (или снова включить) генерацию инструкций перехода, относительных к PC.

-msoft-float
-mhard-float

Отключить (или снова включить) генерацию инструкций аппаратной арифметики с плавающей запятой. Этот параметр имеет значение только тогда, когда целевая архитектура — ‘V850E2V3’ или выше. Если генерируются инструкции аппаратной арифметики с плавающей запятой, то препроцессорный символ C __FPU_OK__ определён; в противном случае определён символ __NO_FPU__.

-mloop

Включает использование инструкции e3v5 LOOP. Использование этой инструкции не включено по умолчанию при выборе архитектуры e3v5, так как её использование всё ещё экспериментальное.

-mrh850-abi
-mghs

Включает поддержку RH850 версии ABI V850. Это значение по умолчанию. С этой версией ABI применяются следующие правила:

  • Структуры и объединения целочисленного размера возвращаются через указатель памяти, а не через регистр.
  • Большие структуры и объединения (размером более 8 байт) передаются по значению.
  • Функции выравниваются до границ 16 бит.
  • Поддерживается параметр командной строки -m8byte-align.
  • Параметр командной строки -mdisable-callt включён по умолчанию. Параметр командной строки -mno-disable-callt не поддерживается.

При включении этой версии ABI препроцессорный символ __V850_RH850_ABI__ определён.

-mgcc-abi

Включает поддержку старой версии ABI V850 от GCC. С этой версией ABI применяются следующие правила:

  • Структуры и объединения целочисленного размера возвращаются в регистре r10.
  • Большие структуры и объединения (размером более 8 байт) передаются по ссылке.
  • Функции выравниваются до границ 32 бит, если оптимизация не направлена на размер.
  • Параметр командной строки -m8byte-align не поддерживается.
  • Параметр командной строки -mdisable-callt поддерживается, но по умолчанию не включён.

При включении этой версии ABI препроцессорный символ __V850_GCC_ABI__ определён.

-m8byte-align
-mno-8byte-align

Включает поддержку выравнивания типов double и long long на границах 8 байт. По умолчанию выравнивание всех объектов ограничивается 4 байтами. При использовании -m8byte-align препроцессорный символ __V850_8BYTE_ALIGN__ определён.

-mbig-switch

Генерирует код, подходящий для больших таблиц переходов. Используйте этот параметр только в случае, если ассемблер/линкер жалуются на ветви вне диапазона в таблице переходов.

-mapp-regs

Этот параметр заставляет компилятор использовать регистры r2 и r5 в генерируемом коде. Это значение по умолчанию.

-mno-app-regs

Этот параметр заставляет ассемблер рассматривать регистры r2 и r5 как фиксированные.

Далее: Параметры VAX, Предыдущее: Параметры TILEPro, Вверх: Зависимые от машины параметры [Оглавление][Индекс]

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

Spec-Zone.ru

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