Skip to content

Compiler options and their impact on the code generation.

Francois Bedard edited this page Sep 22, 2017 · 1 revision

Intro

The ARC GCC compiler has a number of back-end specific options which we can categorize as:

  • Active: these options are having an impact on code generation;
  • Dummy: these options are just defining a macro;
  • Deprecated/Legacy: these options are deprecated or still in for legacy purposes.

For more about ARC GCC specific option please check the gnu manual which comes with your current tools distribution.

Discussion

mlock versus matomic

The mlock option is a legacy ARC700 target specific option, and it just defines the __Xlock preprocessor macro. The matomic option enables the compiler support for conditional load and store instructions. It also defines the __ARC_ATOMIC__ preprocessor macro. The latter option can be also used for ARC700 architecture to generate atomic primitive support base on the EX (exchange) operation. The matomic is an active option.