Spec-Zone.ru › GCC 13

3.19.10 Параметры C-SKY

GCC поддерживает эти параметры при компиляции для процессоров C-SKY V2.

-march=arch

Указывает архитектуру целевого C-SKY. Допустимые значения для arch это: ‘ck801’, ‘ck802’, ‘ck803’, ‘ck807’ и ‘ck810’. По умолчанию значение ‘ck810’.

-mcpu=cpu

Указывает целевой процессор C-SKY. Допустимые значения для cpu это: ‘ck801’, ‘ck801t’, ‘ck802’, ‘ck802t’, ‘ck802j’, ‘ck803’, ‘ck803h’, ‘ck803t’, ‘ck803ht’, ‘ck803f’, ‘ck803fh’, ‘ck803e’, ‘ck803eh’, ‘ck803et’, ‘ck803eht’, ‘ck803ef’, ‘ck803efh’, ‘ck803ft’, ‘ck803eft’, ‘ck803efht’, ‘ck803r1’, ‘ck803hr1’, ‘ck803tr1’, ‘ck803htr1’, ‘ck803fr1’, ‘ck803fhr1’, ‘ck803er1’, ‘ck803ehr1’, ‘ck803etr1’, ‘ck803ehtr1’, ‘ck803efr1’, ‘ck803efhr1’, ‘ck803ftr1’, ‘ck803eftr1’, ‘ck803efhtr1’, ‘ck803s’, ‘ck803st’, ‘ck803se’, ‘ck803sf’, ‘ck803sef’, ‘ck803seft’, ‘ck807e’, ‘ck807ef’, ‘ck807’, ‘ck807f’, ‘ck810e’, ‘ck810et’, ‘ck810ef’, ‘ck810eft’, ‘ck810’, ‘ck810v’, ‘ck810f’, ‘ck810t’, ‘ck810fv’, ‘ck810tv’, ‘ck810ft’ и ‘ck810ftv’.

-mbig-endian
-EB
-mlittle-endian
-EL

Выберите код с большим или малым порядком байтов. По умолчанию используется малый порядок байтов.

-mfloat-abi=name

Указывает используемый ABI для операций с плавающей точкой. Разрешенные значения: ‘soft’, ‘softfp’ и ‘hard’.

Указание ‘soft’ заставляет GCC генерировать вызовы библиотеки для операций с плавающей точкой. ‘softfp’ позволяет генерировать код, использующий аппаратные инструкции для операций с плавающей точкой, но всё ещё использует соглашения о вызовах soft-float. ‘hard’ позволяет генерировать инструкции для операций с плавающей точкой и использует соглашения о вызовах, специфичные для FPU.

Значение по умолчанию зависит от конкретной конфигурации целевой системы. Обратите внимание, что ABI для hard-float и soft-float не совместимы с точки зрения компоновки; необходимо скомпилировать всю программу с одинаковым ABI и скомпоновать с совместимым набором библиотек.

-mhard-float
-msoft-float

Выберите аппаратную или программную реализацию операций с плавающей точкой. По умолчанию используется программная реализация (soft float).

-mdouble-float
-mno-double-float

Когда активен параметр -mhard-float, включить генерацию инструкций с двойной точностью для плавающей точки. Это значение по умолчанию, за исключением компиляции для CK803.

-mfdivdu
-mno-fdivdu

Когда активен параметр -mhard-float, включить генерацию инструкций frecipd, fsqrtd, и fdivd. Это значение по умолчанию, за исключением компиляции для CK803.

-mfpu=fpu

Выбрать процессор для операций с плавающей точкой. Этот параметр может использоваться только с параметром -mhard-float. Значения для fpu это ‘fpv2_sf’ (эквивалентно ‘-mno-double-float -mno-fdivdu’), ‘fpv2’ (‘-mdouble-float -mno-divdu’), и ‘fpv2_divd’ (‘-mdouble-float -mdivdu’).

-melrw
-mno-elrw

Включить расширенную инструкцию lrw. По умолчанию включено для CK801 и выключено в противном случае.

-mistack
-mno-istack

Включить инструкции стека прерываний; по умолчанию выключено.

Параметр -mistack необходим для обработки атрибутов функций interrupt и isr (см. Атрибуты функций C-SKY).

-mmp

Включить инструкции для многопроцессорных систем; по умолчанию выключено.

-mcp

Включить инструкции сопроцессора; по умолчанию выключено.

-mcache

Включить инструкции сопроцессора; по умолчанию выключено.

-msecurity

Включить инструкции безопасности C-SKY; по умолчанию выключено.

-mtrust

Включить инструкции доверия C-SKY; по умолчанию выключено.

-mdsp
-medsp
-mvdsp

Соответственно, включить инструкции C-SKY DSP, Улучшенного DSP или Vector DSP. Все эти параметры по умолчанию выключены.

-mdiv
-mno-div

Генерировать инструкции деления. По умолчанию выключено.

-msmart
-mno-smart

Генерировать код для режима Smart, используя только регистры с номерами от 0 до 7 для возможности использования 16-битных инструкций. Этот параметр игнорируется для CK801, где такое поведение необходимо, и по умолчанию включен для CK802. Для других целей по умолчанию выключен.

-mhigh-registers
-mno-high-registers

Генерировать код, используя высокие регистры с номерами от 16 до 31. Этот параметр не поддерживается для CK801, CK802 или CK803, и включен по умолчанию для других процессоров.

-manchor
-mno-anchor

Генерировать код с использованием адресов глобальных символов-якорей.

-mpushpop
-mno-pushpop

Генерировать код, используя инструкции push и pop. По умолчанию включено.

-mmultiple-stld
-mstm
-mno-multiple-stld
-mno-stm

Генерировать код, используя инструкции stm и ldm . Этот параметр не поддерживается для CK801, но включен по умолчанию для других процессоров.

-mconstpool
-mno-constpool

Создавать пулы констант в компиляторе вместо переноса в ассемблер. Этот параметр является значением по умолчанию и необходим для корректной генерации кода для CK801 и CK802, и является необязательным для других процессоров.

-mstack-size
-mno-stack-size

Вставить директивы .stack_size для каждой функции в выходном ассемблерном коде. По умолчанию выключено.

-mccrt
-mno-ccrt

Генерировать код для времени выполнения компилятора C-SKY вместо libgcc. По умолчанию выключено.

-mbranch-cost=n

Установить затраты на ветвления приблизительно к n инструкциям. Значение по умолчанию 1.

-msched-prolog
-mno-sched-prolog

Разрешить планирование пролога и эпилога функции. Использование этого параметра может привести к коду, не соответствующему требованиям пролога ABI C-SKY V2, и который нельзя отладить или отследить. По умолчанию выключено.

-msim

Компонует библиотеку libsemi.a, которая совместима с симулятором. Применимо только к компилятору ELF.

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

Spec-Zone.ru

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