You are viewing nickclifton

Previous Entry | Next Entry

June 2013 GNU Toolchain Update

Deep Thought
Hi Guys,

  There are lots of developments to report on this month:

  * NEWLIB has a new configure option: --enable-newlib-nano-malloc

    This enables the use of a small footprint memory allocator which can be useful on targets with a restricted amount of RAM available.

  * NEWLIB has a new configure option: --disable-newlib-unbuf-stream-opt

    This disables the unbuffered stream optimizations in newlib, which makes functions like fprintf() smaller and use less stack, but it also means that functions like ungetc() are slower and more complicated.

  * The BFD library in the BINUTILS now has support for debug sections placed into alternative files via the use of the DWZ compression program.

  * The MIPS port of the GAS assembler supports a new command line option: --relax-branch

    This enables the automatic replacement of out of range branch instructions with longer alternatives.  This feature is not enabled by default because the expander will not always choose an optimal branch instruction.  If the assembler source code has been created by GCC then there is no need for this feature as GCC will have already selected the correct size branch instructions to use.

  * GCC and G++ support a new command line option: -fcilkplus

    This enables the use of Cilk Plus language extension features for C and C++.  This was created by Intel as a way of adding support for data and code parallelism to C and C++ programs.  It does this by adding new keywords and functions to the language that are designed to allow the compiler to take advantage of any parallel processing features available in the target architecture.

    Detailed information about Cilk Plus can be found at  http://www.cilkplus.org.  The present implementation follows ABI version 0.9.
  
  * The ARM port of GCC supports a new command line option: -mrestrict-it
  
    This restricts the generation of IT blocks to conform to the rules of ARMv8.  IT blocks can only contain a single 16-bit instruction from a select set of instructions. This option is on by default for ARMv8 Thumb mode.

  * The I386 port of GCC supports two new variants for the -march, -mcpu and -mtune options: core-avx2 and slm

  * The MIPS port of GCC supports a new command line option: -meva

    This enables the use of the MIPS Enhanced Virtual Addressing instructions.

  * The PowerPC port of GCC supports a whole set of new command line options:

  -mcrypto

       Enables the use of the built-in functions that allow direct access to the cryptographic instructions that were added in version 2.07 of the PowerPC ISA.

   -mdirect-move

       Generates code that uses the instructions to move data between the general purpose registers and the vector/scalar registers that were added in version 2.07 of the PowerPC ISA.

   -mpower8-fusion

      Generates code that keeps some integer operations adjacent so that the instructions can be fused together on power8 and later processors.

  -mpower8-vector

      Generates code that uses the vector and scalar instructions that were added in version 2.07 of the PowerPC ISA.  Also enables the use of built-in functions that allow more direct access to the vector instructions.

   -mquad-memory

      Generates code that uses the quad word memory instructions.  This option requires use of 64-bit mode.

  * The SPARC port of GCC supports a new command line option: -mfix-ut699

    Enables the documented workarounds for the floating-point errata of the UT699 processor.

Cheers
  Nick

Comments

( 1 comment — Leave a comment )
tcpip
Jul. 8th, 2013 02:09 am (UTC)
Great collection of new options... Especially pleased with the small footprint memory allocator, great for testing machines.
( 1 comment — Leave a comment )

Profile

Deep Thought
nickclifton
nickclifton

Latest Month

November 2014
S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
30      

Page Summary

Powered by LiveJournal.com
Designed by chasethestars