public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
* [wwwdocs] SH 4.8 changes update
@ 2012-08-19  0:47 Oleg Endo
  2012-08-19  1:36 ` Kaz Kojima
  2012-08-19 17:20 ` Gerald Pfeifer
  0 siblings, 2 replies; 15+ messages in thread
From: Oleg Endo @ 2012-08-19  0:47 UTC (permalink / raw)
  To: gcc-patches; +Cc: Gerald Pfeifer

[-- Attachment #1: Type: text/plain, Size: 96 bytes --]

Hello,

This is what has been done so far on the SH side for 4.8.
I hope it's OK.

Cheers,
Oleg

[-- Attachment #2: www_4_8_sh_changes_0.patch --]
[-- Type: text/x-patch, Size: 3471 bytes --]

Index: htdocs/gcc-4.8/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.10
diff -u -r1.10 changes.html
--- htdocs/gcc-4.8/changes.html	10 Aug 2012 16:25:46 -0000	1.10
+++ htdocs/gcc-4.8/changes.html	19 Aug 2012 00:41:33 -0000
@@ -100,6 +100,70 @@
     options to the assembler.</li>
   </ul>
 
+<h3>SH</h3>
+  <ul>
+    <li>The default alignment settings have been reduced to be less aggresive.
+    This results in more compact code for optimization levels other than
+    <code>-Os</code>.</li>
+
+    <li>Improved support for the <code>__atomic</code> built-in functions:
+    <ul>
+      <li>Minor tweaks for code around software atomic sequences that are
+      enabled by <code>-msoft-atomic</code>.</li>
+
+      <li>A new option <code>-menable-tas</code> will make the compiler
+      generate the <code>tas.b</code> instruction for the
+      <code>__atomic_test_and_set</code> built-in function.</li>
+
+      <li>The SH4A instructions <code>movco.l</code> and
+      <code>movli.l</code> are now supported.  They are used to implement some
+      software atomic sequences that are enabled by <code>-msoft-atomic</code>.
+      In addition to that, pure <code>movco.l</code> / <code>movli.l</code>
+      atomic sequences can be enabled with the new option
+      <code>-mhard-atomic</code>.</li>
+    </ul></li>
+
+    <li>Added support for the <code>mov.b</code> and <code>mov.w</code>
+    instructions with displacement addressing.</li>
+
+    <li>Added support for the SH2A instructions <code>movu.b</code> and
+    <code>movu.w</code>.</li>
+
+    <li>Various improvements to code generated for integer arithmetic.</li>
+
+    <li>Improvements to conditional branches and code that involves the T bit.
+    A new option <code>-mzdcbranch</code> tells the compiler to favor
+    zero-displacement branches.  This is enabled by default for SH4 and
+    SH4A.</li>
+
+    <li>The <code>pref</code> instruction will now be emitted by the
+    <code>__builtin_prefetch</code> built-in function for SH3.</li>
+
+    <li>The <code>fmac</code> instruction will now be emitted by the
+    <code>fmaf</code> standard and built-in function.</li>
+
+    <li>The <code>-mfused-madd</code> option has been depricated in favor of
+    the machine-independent <code>-ffp-contract</code> option.  Notice that the
+    <code>fmac</code> instruction will now be generated by default for
+    expressions like <code>a * b + c</code>.  This is due to the compiler
+    default setting <code>-ffp-contract=fast</code>.</li>
+
+    <li>Added new options <code>-mfsrra</code> and <code>-mfsca</code> to allow
+    the compiler using the <code>fsrra</code> and <code>fsca</code>
+    instructions on CPUs other than SH4A.</li>
+
+    <li>Added support for the <code>__builtin_bswap32</code> built-in function.
+    It is now expanded as a sequence of <code>swap.b</code> and
+    <code>swap.w</code> instructions instead of a library function call.</li>
+
+    <li>The behavior of the <code>-mieee</code> option has been fixed and the
+    negative form <code>-mno-ieee</code> has been added to control the IEEE
+    conformance of floating point comparisons.  By default<code>-mieee</code> is
+    now enabled and the option <code>-ffinite-math-only</code> implicitly sets
+    <code>-mno-ieee</code>.</li>
+
+  </ul>
+
 <!--
 <h2>Documentation improvements</h2>
 -->

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19  0:47 [wwwdocs] SH 4.8 changes update Oleg Endo
@ 2012-08-19  1:36 ` Kaz Kojima
  2012-08-19 17:20 ` Gerald Pfeifer
  1 sibling, 0 replies; 15+ messages in thread
From: Kaz Kojima @ 2012-08-19  1:36 UTC (permalink / raw)
  To: oleg.endo; +Cc: gcc-patches, gerald

Oleg Endo <oleg.endo@t-online.de> wrote:
> This is what has been done so far on the SH side for 4.8.
> I hope it's OK.

Looks fine to me.

Regards,
	kaz

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19  0:47 [wwwdocs] SH 4.8 changes update Oleg Endo
  2012-08-19  1:36 ` Kaz Kojima
@ 2012-08-19 17:20 ` Gerald Pfeifer
  2012-08-19 18:09   ` Oleg Endo
  1 sibling, 1 reply; 15+ messages in thread
From: Gerald Pfeifer @ 2012-08-19 17:20 UTC (permalink / raw)
  To: Oleg Endo; +Cc: gcc-patches

On Sun, 19 Aug 2012, Oleg Endo wrote:
> This is what has been done so far on the SH side for 4.8.
> I hope it's OK.

Wow, that is quite impressive (and a nice write-up also)!

I see this was already approved, but allow me to suggest some
minor editorial comments...

Index: htdocs/gcc-4.8/changes.html
===================================================================
+    <li>The default alignment settings have been reduced to be less aggresive.

"aggressive"

+      <li>Minor tweaks for code around software atomic sequences that are
+      enabled by <code>-msoft-atomic</code>.</li>

"code for"?  Not sure...

+      <li>A new option <code>-menable-tas</code> will make the compiler
+      generate the <code>tas.b</code> instruction for the
+      <code>__atomic_test_and_set</code> built-in function.</li>

A naive question: Why is this not on by default?  Or is it under
certain circumstances?

+    <li>The <code>fmac</code> instruction will now be emitted by the
+    <code>fmaf</code> standard and built-in function.</li>

"built-in standard function", perhaps?

+    <li>The <code>-mfused-madd</code> option has been depricated in favor of

"deprecated"

+    <li>Added new options <code>-mfsrra</code> and <code>-mfsca</code> to allow
+    the compiler using the <code>fsrra</code> and <code>fsca</code>
+    instructions on CPUs other than SH4A.</li>

How about adding "...SH4A (where they are already on by default)" or
similar?

Gerald

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19 17:20 ` Gerald Pfeifer
@ 2012-08-19 18:09   ` Oleg Endo
  2012-08-19 19:43     ` Gerald Pfeifer
  0 siblings, 1 reply; 15+ messages in thread
From: Oleg Endo @ 2012-08-19 18:09 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 2401 bytes --]

On Sun, 2012-08-19 at 19:20 +0200, Gerald Pfeifer wrote:
> On Sun, 19 Aug 2012, Oleg Endo wrote:
> > This is what has been done so far on the SH side for 4.8.
> > I hope it's OK.
> 
> Wow, that is quite impressive (and a nice write-up also)!

Thanks.  Let's hope that I can squeeze in some more stuff while stage 1
lasts. :T

> I see this was already approved, but allow me to suggest some
> minor editorial comments...

Thanks for those!  Since I've just committed the thing as it was, please
find the correcting patch in the attachments.

> 
> Index: htdocs/gcc-4.8/changes.html
> ===================================================================
> +    <li>The default alignment settings have been reduced to be less aggresive.
> 
> "aggressive"

Fixed.

> +      <li>Minor tweaks for code around software atomic sequences that are
> +      enabled by <code>-msoft-atomic</code>.</li>
> 
> "code for"?  Not sure...

Rephrased.

> +      <li>A new option <code>-menable-tas</code> will make the compiler
> +      generate the <code>tas.b</code> instruction for the
> +      <code>__atomic_test_and_set</code> built-in function.</li>
> 
> A naive question: Why is this not on by default?  Or is it under
> certain circumstances?

SH's tas.b insn can potentially confuse caches under certain HW
configurations and result in data corruption.  Moreover, it flushes the
operand cache line for the variable in question and then does its thing.
There might be problems when it's used together with other ways of doing
atomics, so maybe it's better not to surprise people by enabling it by
default.
But now that you mention it, maybe it would be better to rename the
'-menable-tas' option to '-mtas', since other instruction related
options do not have 'enabled' in the name.

> +    <li>The <code>fmac</code> instruction will now be emitted by the
> +    <code>fmaf</code> standard and built-in function.</li>
> 
> "built-in standard function", perhaps?

Clarified.

> 
> +    <li>The <code>-mfused-madd</code> option has been depricated in favor of
> 
> "deprecated"

Fixed.

> +    <li>Added new options <code>-mfsrra</code> and <code>-mfsca</code> to allow
> +    the compiler using the <code>fsrra</code> and <code>fsca</code>
> +    instructions on CPUs other than SH4A.</li>
> 
> How about adding "...SH4A (where they are already on by default)" or
> similar?

Added.

OK to install?

Cheers,
Oleg

[-- Attachment #2: www_4_8_sh_changes_1.patch --]
[-- Type: text/x-patch, Size: 2309 bytes --]

Index: htdocs/gcc-4.8/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.14
diff -u -r1.14 changes.html
--- htdocs/gcc-4.8/changes.html	19 Aug 2012 17:16:04 -0000	1.14
+++ htdocs/gcc-4.8/changes.html	19 Aug 2012 18:07:37 -0000
@@ -159,14 +159,14 @@
 
 <h3>SH</h3>
   <ul>
-    <li>The default alignment settings have been reduced to be less aggresive.
+    <li>The default alignment settings have been reduced to be less aggressive.
     This results in more compact code for optimization levels other than
     <code>-Os</code>.</li>
 
     <li>Improved support for the <code>__atomic</code> built-in functions:
     <ul>
-      <li>Minor tweaks for code around software atomic sequences that are
-      enabled by <code>-msoft-atomic</code>.</li>
+      <li>Minor improvements to code generated for software atomic sequences
+      that are enabled by <code>-msoft-atomic</code>.</li>
 
       <li>A new option <code>-menable-tas</code> will make the compiler
       generate the <code>tas.b</code> instruction for the
@@ -197,9 +197,10 @@
     <code>__builtin_prefetch</code> built-in function for SH3.</li>
 
     <li>The <code>fmac</code> instruction will now be emitted by the
-    <code>fmaf</code> standard and built-in function.</li>
+    <code>fmaf</code> standard function and the <code>__builtin_fmaf</code>
+    built-in function.</li>
 
-    <li>The <code>-mfused-madd</code> option has been depricated in favor of
+    <li>The <code>-mfused-madd</code> option has been deprecated in favor of
     the machine-independent <code>-ffp-contract</code> option.  Notice that the
     <code>fmac</code> instruction will now be generated by default for
     expressions like <code>a * b + c</code>.  This is due to the compiler
@@ -207,7 +208,8 @@
 
     <li>Added new options <code>-mfsrra</code> and <code>-mfsca</code> to allow
     the compiler using the <code>fsrra</code> and <code>fsca</code>
-    instructions on CPUs other than SH4A.</li>
+    instructions on CPUs other than SH4A (where they are already enabled by
+    default).</li>
 
     <li>Added support for the <code>__builtin_bswap32</code> built-in function.
     It is now expanded as a sequence of <code>swap.b</code> and

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19 18:09   ` Oleg Endo
@ 2012-08-19 19:43     ` Gerald Pfeifer
  2012-08-19 23:38       ` Oleg Endo
  0 siblings, 1 reply; 15+ messages in thread
From: Gerald Pfeifer @ 2012-08-19 19:43 UTC (permalink / raw)
  To: Oleg Endo; +Cc: gcc-patches

On Sun, 19 Aug 2012, Oleg Endo wrote:
> Thanks.  Let's hope that I can squeeze in some more stuff while
> stage 1 lasts. :T

You know that for backend-specific changes (especially for "smaller"
ports) you actually have some more leeway?

> But now that you mention it, maybe it would be better to rename the
> '-menable-tas' option to '-mtas', since other instruction related
> options do not have 'enabled' in the name.

Now still would be time to do so without worrying about compatibility. ;-)

> OK to install?

Oh, yes.  Thanks!

Gerald

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19 19:43     ` Gerald Pfeifer
@ 2012-08-19 23:38       ` Oleg Endo
  2012-08-20 12:24         ` Gerald Pfeifer
  2012-08-20 12:31         ` Richard Guenther
  0 siblings, 2 replies; 15+ messages in thread
From: Oleg Endo @ 2012-08-19 23:38 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc-patches

On Sun, 2012-08-19 at 21:43 +0200, Gerald Pfeifer wrote:
> On Sun, 19 Aug 2012, Oleg Endo wrote:
> > Thanks.  Let's hope that I can squeeze in some more stuff while
> > stage 1 lasts. :T
> 
> You know that for backend-specific changes (especially for "smaller"
> ports) you actually have some more leeway?

You mean, since SH is neither a primary nor a secondary platform, there
are no particular release criteria for it?  What does that actually
mean?

> > But now that you mention it, maybe it would be better to rename the
> > '-menable-tas' option to '-mtas', since other instruction related
> > options do not have 'enabled' in the name.
> 
> Now still would be time to do so without worrying about compatibility. ;-)

True.

Cheers,
Oleg

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19 23:38       ` Oleg Endo
@ 2012-08-20 12:24         ` Gerald Pfeifer
  2012-08-20 12:31         ` Richard Guenther
  1 sibling, 0 replies; 15+ messages in thread
From: Gerald Pfeifer @ 2012-08-20 12:24 UTC (permalink / raw)
  To: Oleg Endo; +Cc: gcc-patches

On Mon, 20 Aug 2012, Oleg Endo wrote:
> You mean, since SH is neither a primary nor a secondary platform,
> there are no particular release criteria for it?  What does that
> actually mean?

From what I recall, you can make stage 1 type changes even after
stage 1.  However, if your port is broken, the release managers
will shrug their shoulders and release even if your port is quite
broken due to that.


Related to your web page update, I just comitted the patch below
which allows for direct linking to the SH entry.

Gerald


Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.16
diff -u -3 -p -r1.16 changes.html
--- changes.html	20 Aug 2012 11:02:28 -0000	1.16
+++ changes.html	20 Aug 2012 12:22:52 -0000
@@ -159,7 +159,7 @@ by this change.</p>
     options to the assembler.</li>
   </ul>
 
-<h3>SH</h3>
+<h3 id="sh">SH</h3>
   <ul>
     <li>The default alignment settings have been reduced to be less aggressive.
     This results in more compact code for optimization levels other than

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-19 23:38       ` Oleg Endo
  2012-08-20 12:24         ` Gerald Pfeifer
@ 2012-08-20 12:31         ` Richard Guenther
  1 sibling, 0 replies; 15+ messages in thread
From: Richard Guenther @ 2012-08-20 12:31 UTC (permalink / raw)
  To: Oleg Endo; +Cc: Gerald Pfeifer, gcc-patches

On Mon, Aug 20, 2012 at 1:37 AM, Oleg Endo <oleg.endo@t-online.de> wrote:
> On Sun, 2012-08-19 at 21:43 +0200, Gerald Pfeifer wrote:
>> On Sun, 19 Aug 2012, Oleg Endo wrote:
>> > Thanks.  Let's hope that I can squeeze in some more stuff while
>> > stage 1 lasts. :T
>>
>> You know that for backend-specific changes (especially for "smaller"
>> ports) you actually have some more leeway?
>
> You mean, since SH is neither a primary nor a secondary platform, there
> are no particular release criteria for it?  What does that actually
> mean?

It means that release managers do not care about the state of the SH port.
It means SH target maintainers have to watch how the release goes and
decide when to put effort into testing and fixing bugs themselves, otherwise
they may run into the situation that the SH port does not even build for
the release.  So kind of target maintainers for ports that are not primary
or secondary are their own release managers without any control over
release timing.

Richard.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-10-06 15:57 ` Gerald Pfeifer
@ 2012-10-06 16:48   ` Oleg Endo
  0 siblings, 0 replies; 15+ messages in thread
From: Oleg Endo @ 2012-10-06 16:48 UTC (permalink / raw)
  To: Gerald Pfeifer; +Cc: gcc-patches

On Sat, 2012-10-06 at 17:57 +0200, Gerald Pfeifer wrote:
> Hi Oleg,
> 
> have you considered also documenting the new __builtin_thread_pointer
> and __builtin_set_thread_pointer built-ins?  (I just noticed this by
> chance.)

Yes, sure.  The documentation and www changes updates will follow soon.

> 
> On Thu, 4 Oct 2012, Oleg Endo wrote:
> > The atomic options of SH have been changed recently.  The attached patch 
> > updates the 4.8 changes.html accordingly, plus some minor wording fixes.
> 
> Looking at the list of parameters to -matomic-model=, it appears
> that a definition list (<dl>) is better suitable than a regular
> list, so I went ahead and made the change below.
> 

Thanks!  Looks way better now.

Cheers,
Oleg

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-10-04 21:52 Oleg Endo
  2012-10-05 12:54 ` Kaz Kojima
@ 2012-10-06 15:57 ` Gerald Pfeifer
  2012-10-06 16:48   ` Oleg Endo
  1 sibling, 1 reply; 15+ messages in thread
From: Gerald Pfeifer @ 2012-10-06 15:57 UTC (permalink / raw)
  To: Oleg Endo; +Cc: gcc-patches

Hi Oleg,

have you considered also documenting the new __builtin_thread_pointer
and __builtin_set_thread_pointer built-ins?  (I just noticed this by
chance.)

On Thu, 4 Oct 2012, Oleg Endo wrote:
> The atomic options of SH have been changed recently.  The attached patch 
> updates the 4.8 changes.html accordingly, plus some minor wording fixes.

Looking at the list of parameters to -matomic-model=, it appears
that a definition list (<dl>) is better suitable than a regular
list, so I went ahead and made the change below.

Gerald

Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.37
diff -u -3 -p -r1.37 changes.html
--- changes.html	5 Oct 2012 19:30:26 -0000	1.37
+++ changes.html	6 Oct 2012 15:32:05 -0000
@@ -258,30 +258,30 @@ by this change.</p>
       <li>A new option <code>-matomic-model=<i>model</i></code> selects the
       model for the generated atomic sequences.  The following models are
       supported:
-      <ul>
-        <li><code>soft-gusa</code><br/>
+      <dl>
+        <dt><code>soft-gusa</code></dt><dd>
         Software gUSA sequences (SH3* and SH4* only).  On SH4A targets this
         will now also partially utilize the <code>movco.l</code> and
         <code>movli.l</code> instructions.  This is the default when the target
-        is <code>sh3*-*-linux*</code> or <code>sh4*-*-linux*</code>.</li>
+        is <code>sh3*-*-linux*</code> or <code>sh4*-*-linux*</code>.</dd>
 
-        <li><code>hard-llcs</code><br/>
+        <dt><code>hard-llcs</code></dt><dd>
         Hardware <code>movco.l</code> / <code>movli.l</code> sequences
-        (SH4A only).</li>
+        (SH4A only).</dd>
 
-        <li><code>soft-tcb</code><br/>
-        Software thread control block sequences.</li>
+        <dt><code>soft-tcb</code></dt><dd>
+        Software thread control block sequences.</dd>
 
-        <li><code>soft-imask</code><br/>
-        Software interrupt flipping sequences (privileged mode only).  This is
-        the default when the target is <code>sh1*-*-linux*</code> or
-        <code>sh2*-*-linux*</code>.</li>
+        <dt><code>soft-imask</code></dt><dd>
+        Software interrupt flipping sequences (privileged mode only).  This
+        is the default when the target is <code>sh1*-*-linux*</code> or
+        <code>sh2*-*-linux*</code>.</dd>
 
-        <li><code>none</code><br/>
+        <dt><code>none</code></dt><dd>
         Generates function calls to the respective <code>__atomic</code>
-        built-in functions.  This is the default for SH64 targets or when the
-        target is not <code>sh*-*-linux*</code>.</li>
-      </ul></li>
+        built-in functions.  This is the default for SH64 targets or when
+        the target is not <code>sh*-*-linux*</code>.</dd>
+      </dl></li>
 
       <li>The option <code>-msoft-atomic</code> has been deprecated.  It is
       now an alias for <code>-matomic-model=soft-gusa</code>.</li>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
@ 2012-10-05 19:36 Oleg Endo
  0 siblings, 0 replies; 15+ messages in thread
From: Oleg Endo @ 2012-10-05 19:36 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 166 bytes --]

After commiting the last SH changes updates for 4.8 I was kindly
informed that the br tags were left open.  I've committed the attached
fix as obvious.

Cheers,
Oleg

[-- Attachment #2: www_4_8_sh_changes_2_close_br.patch --]
[-- Type: text/x-patch, Size: 1759 bytes --]

? www_4_8_sh_changes_2_close_br.patch
Index: htdocs/gcc-4.8/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.36
diff -u -r1.36 changes.html
--- htdocs/gcc-4.8/changes.html	5 Oct 2012 19:21:00 -0000	1.36
+++ htdocs/gcc-4.8/changes.html	5 Oct 2012 19:28:48 -0000
@@ -259,25 +259,25 @@
       model for the generated atomic sequences.  The following models are
       supported:
       <ul>
-        <li><code>soft-gusa</code><br>
+        <li><code>soft-gusa</code><br/>
         Software gUSA sequences (SH3* and SH4* only).  On SH4A targets this
         will now also partially utilize the <code>movco.l</code> and
         <code>movli.l</code> instructions.  This is the default when the target
         is <code>sh3*-*-linux*</code> or <code>sh4*-*-linux*</code>.</li>
 
-        <li><code>hard-llcs</code><br>
+        <li><code>hard-llcs</code><br/>
         Hardware <code>movco.l</code> / <code>movli.l</code> sequences
         (SH4A only).</li>
 
-        <li><code>soft-tcb</code><br>
+        <li><code>soft-tcb</code><br/>
         Software thread control block sequences.</li>
 
-        <li><code>soft-imask</code><br>
+        <li><code>soft-imask</code><br/>
         Software interrupt flipping sequences (privileged mode only).  This is
         the default when the target is <code>sh1*-*-linux*</code> or
         <code>sh2*-*-linux*</code>.</li>
 
-        <li><code>none</code><br>
+        <li><code>none</code><br/>
         Generates function calls to the respective <code>__atomic</code>
         built-in functions.  This is the default for SH64 targets or when the
         target is not <code>sh*-*-linux*</code>.</li>

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-10-04 21:52 Oleg Endo
@ 2012-10-05 12:54 ` Kaz Kojima
  2012-10-06 15:57 ` Gerald Pfeifer
  1 sibling, 0 replies; 15+ messages in thread
From: Kaz Kojima @ 2012-10-05 12:54 UTC (permalink / raw)
  To: oleg.endo; +Cc: gcc-patches

Oleg Endo <oleg.endo@t-online.de> wrote:
> 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?

OK.

Regards,
	kaz

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [wwwdocs] SH 4.8 changes update
@ 2012-10-04 21:52 Oleg Endo
  2012-10-05 12:54 ` Kaz Kojima
  2012-10-06 15:57 ` Gerald Pfeifer
  0 siblings, 2 replies; 15+ messages in thread
From: Oleg Endo @ 2012-10-04 21:52 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 173 bytes --]

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

[-- Attachment #2: www_4_8_sh_changes_2.patch --]
[-- Type: text/x-patch, Size: 4111 bytes --]

? 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 @@
 
     <li>Improved support for the <code>__atomic</code> built-in functions:
     <ul>
-      <li>Minor improvements to code generated for software atomic sequences
-      that are enabled by <code>-msoft-atomic</code>.</li>
+      <li>A new option <code>-matomic-model=<i>model</i></code> selects the
+      model for the generated atomic sequences.  The following models are
+      supported:
+      <ul>
+        <li><code>soft-gusa</code><br>
+        Software gUSA sequences (SH3* and SH4* only).  On SH4A targets this
+        will now also partially utilize the <code>movco.l</code> and
+        <code>movli.l</code> instructions.  This is the default when the target
+        is <code>sh3*-*-linux*</code> or <code>sh4*-*-linux*</code>.</li>
+
+        <li><code>hard-llcs</code><br>
+        Hardware <code>movco.l</code> / <code>movli.l</code> sequences
+        (SH4A only).</li>
+
+        <li><code>soft-tcb</code><br>
+        Software thread control block sequences.</li>
+
+        <li><code>soft-imask</code><br>
+        Software interrupt flipping sequences (privileged mode only).  This is
+        the default when the target is <code>sh1*-*-linux*</code> or
+        <code>sh2*-*-linux*</code>.</li>
+
+        <li><code>none</code><br>
+        Generates function calls to the respective <code>__atomic</code>
+        built-in functions.  This is the default for SH64 targets or when the
+        target is not <code>sh*-*-linux*</code>.</li>
+      </ul></li>
+
+      <li>The option <code>-msoft-atomic</code> has been deprecated.  It is
+      now an alias for <code>-matomic-model=soft-gusa</code>.</li>
 
       <li>A new option <code>-mtas</code> makes the compiler generate
       the <code>tas.b</code> instruction for the
-      <code>__atomic_test_and_set</code> built-in function.</li>
+      <code>__atomic_test_and_set</code> built-in function regardless of the
+      selected atomic model.</li>
+
+      <li>The <code>__sync</code> functions in <code>libgcc</code> now reflect
+      the selected atomic model when building the toolchain.</li>
 
-      <li>The SH4A instructions <code>movco.l</code> and
-      <code>movli.l</code> are now supported.  They are used to implement some
-      software atomic sequences that are enabled by <code>-msoft-atomic</code>.
-      In addition to that, pure <code>movco.l</code> / <code>movli.l</code>
-      atomic sequences can be enabled with the new option
-      <code>-mhard-atomic</code>.</li>
     </ul></li>
 
     <li>Added support for the <code>mov.b</code> and <code>mov.w</code>
@@ -280,11 +306,11 @@
 
     <li>Improvements to conditional branches and code that involves the T bit.
     A new option <code>-mzdcbranch</code> tells the compiler to favor
-    zero-displacement branches.  This is enabled by default for SH4 and
-    SH4A.</li>
+    zero-displacement branches.  This is enabled by default for SH4* targets.
+    </li>
 
     <li>The <code>pref</code> instruction will now be emitted by the
-    <code>__builtin_prefetch</code> built-in function for SH3.</li>
+    <code>__builtin_prefetch</code> built-in function for SH3* targets.</li>
 
     <li>The <code>fmac</code> instruction will now be emitted by the
     <code>fmaf</code> standard function and the <code>__builtin_fmaf</code>
@@ -298,7 +324,7 @@
 
     <li>Added new options <code>-mfsrra</code> and <code>-mfsca</code> to allow
     the compiler using the <code>fsrra</code> and <code>fsca</code>
-    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).</li>
 
     <li>Added support for the <code>__builtin_bswap32</code> built-in function.

^ permalink raw reply	[flat|nested] 15+ messages in thread

* Re: [wwwdocs] SH 4.8 changes update
  2012-08-29 19:25 Oleg Endo
@ 2012-09-02 15:57 ` Gerald Pfeifer
  0 siblings, 0 replies; 15+ messages in thread
From: Gerald Pfeifer @ 2012-09-02 15:57 UTC (permalink / raw)
  To: Oleg Endo; +Cc: gcc-patches

On Wed, 29 Aug 2012, Oleg Endo wrote:
> The new SH option -menable-tas has been renamed to -mtas in rev 190782.
> I have committed the attached patch to reflect this in the changes.html
> for 4.8.

Thanks for thinking of this.  In line with changes Sandra made
recently, I replaced future tense as follows (which also wraps
some long lines).

Gerald

Index: changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.25
diff -u -3 -p -r1.25 changes.html
--- changes.html	2 Sep 2012 14:36:54 -0000	1.25
+++ changes.html	2 Sep 2012 15:54:45 -0000
@@ -232,9 +232,9 @@ by this change.</p>
       <li>Minor improvements to code generated for software atomic sequences
       that are enabled by <code>-msoft-atomic</code>.</li>
 
-      <li>A new option <code>-mtas</code> will make the compiler generate the
-      <code>tas.b</code> instruction for the <code>__atomic_test_and_set</code>
-      built-in function.</li>
+      <li>A new option <code>-mtas</code> makes the compiler generate
+      the <code>tas.b</code> instruction for the
+      <code>__atomic_test_and_set</code> built-in function.</li>
 
       <li>The SH4A instructions <code>movco.l</code> and
       <code>movli.l</code> are now supported.  They are used to implement some

^ permalink raw reply	[flat|nested] 15+ messages in thread

* [wwwdocs] SH 4.8 changes update
@ 2012-08-29 19:25 Oleg Endo
  2012-09-02 15:57 ` Gerald Pfeifer
  0 siblings, 1 reply; 15+ messages in thread
From: Oleg Endo @ 2012-08-29 19:25 UTC (permalink / raw)
  To: gcc-patches

[-- Attachment #1: Type: text/plain, Size: 175 bytes --]

Hello,

The new SH option -menable-tas has been renamed to -mtas in rev 190782.
I have committed the attached patch to reflect this in the changes.html
for 4.8.

Cheers,
Oleg

[-- Attachment #2: sh_mtas_rename.patch --]
[-- Type: text/x-patch, Size: 1632 bytes --]

? sh_mtas_rename.patch
Index: htdocs/gcc-4.8/changes.html
===================================================================
RCS file: /cvs/gcc/wwwdocs/htdocs/gcc-4.8/changes.html,v
retrieving revision 1.23
diff -u -r1.23 changes.html
--- htdocs/gcc-4.8/changes.html	26 Aug 2012 21:48:50 -0000	1.23
+++ htdocs/gcc-4.8/changes.html	29 Aug 2012 19:21:06 -0000
@@ -232,9 +232,9 @@
       <li>Minor improvements to code generated for software atomic sequences
       that are enabled by <code>-msoft-atomic</code>.</li>
 
-      <li>A new option <code>-menable-tas</code> will make the compiler
-      generate the <code>tas.b</code> instruction for the
-      <code>__atomic_test_and_set</code> built-in function.</li>
+      <li>A new option <code>-mtas</code> will make the compiler generate the
+      <code>tas.b</code> instruction for the <code>__atomic_test_and_set</code>
+      built-in function.</li>
 
       <li>The SH4A instructions <code>movco.l</code> and
       <code>movli.l</code> are now supported.  They are used to implement some
@@ -281,9 +281,9 @@
 
     <li>The behavior of the <code>-mieee</code> option has been fixed and the
     negative form <code>-mno-ieee</code> has been added to control the IEEE
-    conformance of floating point comparisons.  By default<code>-mieee</code> is
-    now enabled and the option <code>-ffinite-math-only</code> implicitly sets
-    <code>-mno-ieee</code>.</li>
+    conformance of floating point comparisons.  By default <code>-mieee</code>
+    is now enabled and the option <code>-ffinite-math-only</code> implicitly
+    sets <code>-mno-ieee</code>.</li>
 
   </ul>
 

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2012-10-06 16:48 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-08-19  0:47 [wwwdocs] SH 4.8 changes update Oleg Endo
2012-08-19  1:36 ` Kaz Kojima
2012-08-19 17:20 ` Gerald Pfeifer
2012-08-19 18:09   ` Oleg Endo
2012-08-19 19:43     ` Gerald Pfeifer
2012-08-19 23:38       ` Oleg Endo
2012-08-20 12:24         ` Gerald Pfeifer
2012-08-20 12:31         ` Richard Guenther
2012-08-29 19:25 Oleg Endo
2012-09-02 15:57 ` Gerald Pfeifer
2012-10-04 21:52 Oleg Endo
2012-10-05 12:54 ` Kaz Kojima
2012-10-06 15:57 ` Gerald Pfeifer
2012-10-06 16:48   ` Oleg Endo
2012-10-05 19:36 Oleg Endo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).