From patchwork Thu Oct 4 21:52:34 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: [wwwdocs] SH 4.8 changes update Date: Thu, 04 Oct 2012 11:52:34 -0000 From: Oleg Endo X-Patchwork-Id: 189350 Message-Id: <1349387554.9306.159.camel@yam-132-YW-E178-FTW> To: gcc-patches Hello, The atomic options of SH have been changed recently. The attached patch updates the 4.8 changes.html accordingly, plus some minor wording fixes. OK? Cheers, Oleg ? www_4_8_sh_changes_2.patch Index: htdocs/gcc-4.8/changes.html =================================================================== RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v retrieving revision 1.35 diff -u -r1.35 changes.html --- htdocs/gcc-4.8/changes.html 3 Oct 2012 22:33:46 -0000 1.35 +++ htdocs/gcc-4.8/changes.html 4 Oct 2012 21:47:18 -0000 @@ -255,19 +255,45 @@
  • Improved support for the __atomic built-in functions:
      -
    • Minor improvements to code generated for software atomic sequences - that are enabled by -msoft-atomic.
    • +
    • A new option -matomic-model=model selects the + model for the generated atomic sequences. The following models are + supported: +
        +
      • soft-gusa
        + Software gUSA sequences (SH3* and SH4* only). On SH4A targets this + will now also partially utilize the movco.l and + movli.l instructions. This is the default when the target + is sh3*-*-linux* or sh4*-*-linux*.
      • + +
      • hard-llcs
        + Hardware movco.l / movli.l sequences + (SH4A only).
      • + +
      • soft-tcb
        + Software thread control block sequences.
      • + +
      • soft-imask
        + Software interrupt flipping sequences (privileged mode only). This is + the default when the target is sh1*-*-linux* or + sh2*-*-linux*.
      • + +
      • none
        + Generates function calls to the respective __atomic + built-in functions. This is the default for SH64 targets or when the + target is not sh*-*-linux*.
      • +
    • + +
    • The option -msoft-atomic has been deprecated. It is + now an alias for -matomic-model=soft-gusa.
    • A new option -mtas makes the compiler generate the tas.b instruction for the - __atomic_test_and_set built-in function.
    • + __atomic_test_and_set built-in function regardless of the + selected atomic model. + +
    • The __sync functions in libgcc now reflect + the selected atomic model when building the toolchain.
    • -
    • The SH4A instructions movco.l and - movli.l are now supported. They are used to implement some - software atomic sequences that are enabled by -msoft-atomic. - In addition to that, pure movco.l / movli.l - atomic sequences can be enabled with the new option - -mhard-atomic.
  • Added support for the mov.b and mov.w @@ -280,11 +306,11 @@
  • Improvements to conditional branches and code that involves the T bit. A new option -mzdcbranch tells the compiler to favor - zero-displacement branches. This is enabled by default for SH4 and - SH4A.
  • + zero-displacement branches. This is enabled by default for SH4* targets. +
  • The pref instruction will now be emitted by the - __builtin_prefetch built-in function for SH3.
  • + __builtin_prefetch built-in function for SH3* targets.
  • The fmac instruction will now be emitted by the fmaf standard function and the __builtin_fmaf @@ -298,7 +324,7 @@
  • Added new options -mfsrra and -mfsca to allow the compiler using the fsrra and fsca - instructions on CPUs other than SH4A (where they are already enabled by + instructions on targets other than SH4A (where they are already enabled by default).
  • Added support for the __builtin_bswap32 built-in function.