Skip to main content
  • Products
  • Evaluate our Software
  • Downloads
  • Free Utilities
  • Purchase
  • Support
  • About Us
  • Blog
  • Forum
  • Search
    • Contact Us
    • Forum
    • Wiki
    • Web Shop
    • Newsletter
    • RSS
  •   Jobs
  •   Videos
  •   Blog
  •   Sustainability
  • Embedded Studio
  • SEGGER Compiler
  • Technology
  • Toolchain
  • Editions
  • License
SEGGER - Embedded Studio Product Icon

Embedded Studio Tools - SEGGER Compiler

Generate optimized code for embedded systems.

  • Derived from Clang
  • Modern and flexible front end
  • Back end optimized for performance and code size
  • Optimized Thumb-2 code generation for Cortex-M and Cortex-A
  • Fully compatible, easy to use
  1. 1.Performance
    1. 1.1.Size Optimization
    2. 1.2.Speed Optimization
    3. 1.3.High Optimization

The SEGGER Compiler is an optimized C/C++ compiler for Arm microcontrollers. Based on Clang, it offers a modern and flexible front end, which supports the latest C and C++ language features. The back end, which produces the binary objects for the target architecture has been optimized by SEGGER to generate fast and small Thumb-2 code for Cortex-M and Cortex-A processors. In combination with the SEGGER Linker, the SEGGER Assembler, and the SEGGER Runtime Library, it shapes a professional toolchain for any embedded application.

The SEGGER Compiler is directly integrated into Embedded Studio and can easily be used. As the front end is compatible to GCC and Clang, existing projects can be configured to use the SEGGER Compiler with just one option to be changed.

Performance

Size Optimization

The SEGGER Linker can tweak the code generation to produce small code for size optimization, while retaining good execution speed.

The following table shows the performance values of the compiler output with size optimization (-O2-sz).

Test CaseCode SizeRun Time
SEGGER CompilerClangGCCSEGGER CompilerClangGCC
CRC100.00%102.41%98.80%100.00%114.16%101.23%
emCompress100.00%102.22%96.17%100.00%96.13%114.59%
AES-CBC100.00%105.05%110.25%100.00%97.35%104.62%
SHA-256100.00%109.31%105.45%100.00%99.33%118.35%
RSA Sign100.00%103.69%102.42%100.00%101.61%133.53%
FS Test100.00%101.25%98.37%100.00%101.20%100.16%
coremark100.00%102.52%100.36%100.00%98.00%99.70%

Speed Optimization

The SEGGER Linker can optimize for speed while keeping small code size. Without extensive inlining and loop unrolling, it optimizes for faster applications.

The following table shows the performance values of the compilers with speed optimization (-O2-sp).

Test CaseCode SizeRun Time
SEGGER CompilerClangGCCSEGGER CompilerClangGCC
CRC100.00%102.41%98.80%100.00%114.16%101.23%
emCompress100.00%102.22%96.17%100.00%96.13%114.59%
AES-CBC100.00%105.05%110.25%100.00%97.35%104.62%
SHA-256100.00%109.31%105.45%100.00%99.33%118.35%
RSA Sign100.00%103.69%102.42%100.00%101.61%133.53%
FS Test100.00%101.25%98.37%100.00%101.20%100.16%
coremark100.00%102.52%100.36%100.00%98.00%99.70%

High Optimization

With highest optimization level, the SEGGER Compiler produces fastest code with advanced optimization and less focus on code size.

The following table shows the performance values of the compilers with highest optimization (-O3).

Test CaseCode SizeRun Time
SEGGER CompilerClangGCCSEGGER CompilerClangGCC
CRC100.00%101.81%36.20%100.00%101.44%108.79%
emCompress100.00%102.93%66.22%100.00%109.11%96.10%
AES-CBC100.00%111.87%95.02%100.00%106.38%123.52%
SHA-256100.00%108.41%94.60%100.00%104.04%107.39%
RSA Sign100.00%108.07%74.98%100.00%101.54%117.14%
FS Test100.00%101.26%91.64%100.00%99.90%91.26%
coremark100.00%100.73%70.09%100.00%101.94%88.21%

More Information

Purchase

  • Pricing

Technology

  • CPU Support
  • System Requirements
  • Installation
  • Build Performance
  • Project Management
  • Compiler
  • Code Editor
  • Code Analysis
  • Debugger
  • SEGGER Semihosting
  • Project Importer

Toolchain

  • SEGGER Compiler
  • SEGGER Linker
  • SEGGER C++ Library

Editions

  • ARM
  • Cortex-M
  • RISC-V
  • PRO Cortex-M
  • PRO Cortex-A/R

License

  • Licensing conditions
  • License Activation

About us

  • The Company
  • Partners
  • Job Offers
  • Media
  • Contact us

Support

  • Technical Support
  • Blog
  • Forum
  • Wiki

Downloads

  • Application Notes
  • Embedded Studio
  • embOS
  • emCompress
  • emCrypt
  • emFile
  • emLib
  • emLoad
  • emModbus
  • emNet
  • emPower
  • emSecure
  • emSSH
  • emSSL
  • emUSB-Device
  • emUSB-Host
  • emVNC
  • emWin
  • Flasher
  • Free Utilities
  • IoT
  • J-Link / J-Trace
  • Linux Studio
  • SystemView
  • CE / REACH

Social Media

Headquarters

SEGGER Microcontroller GmbH

Ecolab-Allee 5
40789 Monheim am Rhein, Germany
info@segger.com
Tel.: +49-2173-99312-0
Fax: +49-2173-99312-28

Locations

USA: SEGGER Microcontroller Systems LLC

Boston area
101 Suffolk Lane
Gardner, MA 01440, USA
us-east@segger.com
Tel.: +1-978-874-0299
Fax: +1-978-874-0599

Silicon Valley
Milpitas, CA 95035, USA
us-west@segger.com
Tel.: +1-408-767-4068

China: SEGGER Microcontroller China Co., Ltd.

Room 218, Block A, Dahongqiaoguoji
No. 133 Xiulian Road
Minhang District, Shanghai 201199, China
china@segger.com
Tel.: +86-133-619-907-60

ISO 9001 certified

ISO 9001

30+ years of experience

First-class embedded software tools since 1992
  • Imprint
  • Disclaimer
  • Privacy Policy

© 2022 SEGGER - All rights reserved.