Spec-Zone.ru › GCC 12

3.19.11 Параметры 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’ позволяет использовать аппаратные инструкции с плавающей точкой, но при этом сохраняет соглашения о вызовах для мягких плавающих точек. ‘hard’ позволяет генерировать инструкции с плавающей точкой и использует соглашения о вызовах, специфичные для FPU.

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

-mhard-float
-msoft-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

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

-msim

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

Далее: Параметры Darwin, Предыдущее: Параметры CR16, Вверх: Параметры подмоделей [Содержание][Индекс]

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

Spec-Zone.ru

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