Re: [ping] Re: proper name of i386/x86-64/etc targets

2015-04-08 Thread Gerald Pfeifer

Hi Sandra,

On Mon, 26 Jan 2015, Sandra Loosemore wrote:

OK, here is a patch that attempts to implement that convention.  I'd
appreciate review from a target maintainer to check that I've correctly
disambiguated places where "i386" was referring to both 32- and 64-bit
variants vs 32-bit only.  I've left alone some instances of "i386" where it
seemed appropriate to name a specific processor -- e.g. there are a bunch of
examples in the inline asm section that are described as "i386 code".


mind adding this to https://gcc.gnu.org/codingconventions.html where
we have a table for spelling (even though this is more "spelling")?

That way we have a reference point in the future.

Thanks,
Gerald


Re: [ping] Re: proper name of i386/x86-64/etc targets

2015-01-31 Thread Sandra Loosemore

On 01/27/2015 10:17 AM, Uros Bizjak wrote:


-@node i386 and x86-64 Options
-@subsection Intel 386 and AMD x86-64 Options
+@node x86 Options
+@subsection x86 Options
  @cindex i386 Options
-@cindex x86-64 Options
+@cindex x86 Options
+@cindex IA-32 Options
  @cindex Intel 386 Options
  @cindex AMD x86-64 Options

Let's go all the way and remove all but  "@cindex x86 Options".

-These @samp{-m} options are defined for the i386 and x86-64 family of
-computers:
+These @samp{-m} options are defined for the x86 family of computers,
+including both x86-32 (IA-32 and Intel 386) and AMD x86-64:

Also here. "... the x86 family of computers.". Without the "including ..." part.

-@node i386 and x86-64 Windows Options
-@subsection i386 and x86-64 Windows Options
-@cindex i386 and x86-64 Windows Options
+@node x86 Windows Options
+@subsection x86 Windows Options
+@cindex x86 Windows Options
+@cindex i386 Windows Options
+@cindex Intel 386 Windows Options
+@cindex AMD x86-64 Windows Options
+@cindex Windows Options for x86

IMO, all but "@cindex x86 Windows Options" should be removed.

Others LGTM.


Thanks for the review!  I've made those changes and committed the 
attached version of the patch.  I'll follow it up shortly with the 
changes to fix the alphabetization of the renamed sections.


-Sandra


2015-01-31  Sandra Loosemore  

gcc/
* doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
preferred names of the architecture and its 32- and 64-bit
variants.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.

Index: gcc/doc/invoke.texi
===
--- gcc/doc/invoke.texi	(revision 220308)
+++ gcc/doc/invoke.texi	(working copy)
@@ -676,7 +676,7 @@ Objective-C and Objective-C++ Dialects}.
 -mschedule=@var{cpu-type}  -mspace-regs  -msio  -mwsio @gol
 -munix=@var{unix-std}  -nolibdld  -static  -threads}
 
-@emph{i386 and x86-64 Options}
+@emph{x86 Options}
 @gccoptlist{-mtune=@var{cpu-type}  -march=@var{cpu-type} @gol
 -mtune-ctrl=@var{feature-list} -mdump-tune-features -mno-default @gol
 -mfpmath=@var{unit} @gol
@@ -709,7 +709,7 @@ Objective-C and Objective-C++ Dialects}.
 -mavx256-split-unaligned-load -mavx256-split-unaligned-store @gol
 -malign-data=@var{type} -mstack-protector-guard=@var{guard}}
 
-@emph{i386 and x86-64 Windows Options}
+@emph{x86 Windows Options}
 @gccoptlist{-mconsole -mcygwin -mno-cygwin -mdll @gol
 -mnop-fun-dllimport -mthread @gol
 -municode -mwin32 -mwindows -fno-set-stack-executable}
@@ -1081,9 +1081,6 @@ See RS/6000 and PowerPC Options.
 @gccoptlist{-mrtp  -non-static  -Bstatic  -Bdynamic @gol
 -Xbind-lazy  -Xbind-now}
 
-@emph{x86-64 Options}
-See i386 and x86-64 Options.
-
 @emph{Xstormy16 Options}
 @gccoptlist{-msim}
 
@@ -1964,7 +1961,7 @@ Some cases of unnamed fields in structur
 accepted with this option.  @xref{Unnamed Fields,,Unnamed struct/union
 fields within structs/unions}, for details.
 
-Note that this option is off for all targets but i?86 and x86_64
+Note that this option is off for all targets but x86 
 targets using ms-abi.
 
 @item -fplan9-extensions
@@ -11955,8 +11952,8 @@ platform.
 * GNU/Linux Options::
 * H8/300 Options::
 * HPPA Options::
-* i386 and x86-64 Options::
-* i386 and x86-64 Windows Options::
+* x86 Options::
+* x86 Windows Options::
 * IA-64 Options::
 * LM32 Options::
 * M32C Options::
@@ -11992,7 +11989,6 @@ platform.
 * Visium Options::
 * VMS Options::
 * VxWorks Options::
-* x86-64 Options::
 * Xstormy16 Options::
 * Xtensa Options::
 * zSeries Options::
@@ -15365,15 +15361,11 @@ under HP-UX@.  This option sets flags fo
 linker.
 @end table
 
-@node i386 and x86-64 Options
-@subsection Intel 386 and AMD x86-64 Options
-@cindex i386 Options
-@cindex x86-64 Options
-@cindex Intel 386 Options
-@cindex AMD x86-64 Options
+@node x86 Options
+@subsection x86 Options
+@cindex x86 Options
 
-These @samp{-m} options are defined for the i386 and x86-64 family of
-computers:
+These @samp{-m} options are defined for the x86 family of computers.
 
 @table @gcctabopt
 
@@ -15644,7 +15636,7 @@ The temporary results are computed in 80
 specified by the type, resulting in slightly different results compared to most
 of other chips.  See @option{-ffloat-store} for more detailed description.
 
-This is the default choice for i386 compiler.
+This is the default choice for x86-32 targets.
 
 @item sse
 Use scalar floating-point instructions present in the SSE instruction set.
@@ -15656,7 +15648,7 @@ extended-precision arithmetic are still 
 only in Pentium 4 and AMD x86-64 chips, supports double-precision
 arithmetic too.
 
-For the i386 compiler, you must use @option{-march=@var{cpu-type}}, @option{-msse}
+For the x86-32 compiler, you must use @option{-march=@var{cpu-type}}, @option{-msse}
 or @option{-msse2} switches to enable SSE extensions and make this option
 effective.  For the x86-64 compiler, these extensions are enabled by default.
 
@@ -15741,7 +15733

Re: [ping] Re: proper name of i386/x86-64/etc targets

2015-01-27 Thread Uros Bizjak
On Tue, Jan 27, 2015 at 2:56 AM, Sandra Loosemore
 wrote:
> On 01/20/2015 12:02 PM, H.J. Lu wrote:
>>
>> On Tue, Jan 20, 2015 at 10:51 AM, Eric Botcazou 
>> wrote:

 Ping?  Any thoughts?
>>>
>>>
>>> x86 for the family and x86-32/x86-64 for the 2 architectures?
>>>
>>
>> Works for me.
>
>
> [redirecting from gcc@ to gcc-patches@]
>
> OK, here is a patch that attempts to implement that convention.  I'd
> appreciate review from a target maintainer to check that I've correctly
> disambiguated places where "i386" was referring to both 32- and 64-bit
> variants vs 32-bit only.  I've left alone some instances of "i386" where it
> seemed appropriate to name a specific processor -- e.g. there are a bunch of
> examples in the inline asm section that are described as "i386 code".
>
> If this is OK to commit, I will follow it up with another patch to
> re-alphabetize the renamed sections ("i386 whatever" to "x86 whatever").
> Trying to do both the renaming and the shuffling in a single patch would
> have made it impossible to review the actual changes to content. When I was
> working on this I also realized that some of the x86-specific material in
> extend.texi really needs copy-editing; again, best to do that in a separate
> patch.

-@node i386 and x86-64 Options
-@subsection Intel 386 and AMD x86-64 Options
+@node x86 Options
+@subsection x86 Options
 @cindex i386 Options
-@cindex x86-64 Options
+@cindex x86 Options
+@cindex IA-32 Options
 @cindex Intel 386 Options
 @cindex AMD x86-64 Options

Let's go all the way and remove all but  "@cindex x86 Options".

-These @samp{-m} options are defined for the i386 and x86-64 family of
-computers:
+These @samp{-m} options are defined for the x86 family of computers,
+including both x86-32 (IA-32 and Intel 386) and AMD x86-64:

Also here. "... the x86 family of computers.". Without the "including ..." part.

-@node i386 and x86-64 Windows Options
-@subsection i386 and x86-64 Windows Options
-@cindex i386 and x86-64 Windows Options
+@node x86 Windows Options
+@subsection x86 Windows Options
+@cindex x86 Windows Options
+@cindex i386 Windows Options
+@cindex Intel 386 Windows Options
+@cindex AMD x86-64 Windows Options
+@cindex Windows Options for x86

IMO, all but "@cindex x86 Windows Options" should be removed.

Others LGTM.

Thanks,
Uros.


Re: [ping] Re: proper name of i386/x86-64/etc targets

2015-01-26 Thread Sandra Loosemore

On 01/20/2015 12:02 PM, H.J. Lu wrote:

On Tue, Jan 20, 2015 at 10:51 AM, Eric Botcazou  wrote:

Ping?  Any thoughts?


x86 for the family and x86-32/x86-64 for the 2 architectures?



Works for me.


[redirecting from gcc@ to gcc-patches@]

OK, here is a patch that attempts to implement that convention.  I'd 
appreciate review from a target maintainer to check that I've correctly 
disambiguated places where "i386" was referring to both 32- and 64-bit 
variants vs 32-bit only.  I've left alone some instances of "i386" where 
it seemed appropriate to name a specific processor -- e.g. there are a 
bunch of examples in the inline asm section that are described as "i386 
code".


If this is OK to commit, I will follow it up with another patch to 
re-alphabetize the renamed sections ("i386 whatever" to "x86 whatever"). 
 Trying to do both the renaming and the shuffling in a single patch 
would have made it impossible to review the actual changes to content. 
When I was working on this I also realized that some of the x86-specific 
material in extend.texi really needs copy-editing; again, best to do 
that in a separate patch.


-Sandra

2015-01-26  Sandra Loosemore  

gcc/
* doc/extend.texi: Use "x86", "x86-32", and "x86-64" as the
preferred names of the architecture and its 32- and 64-bit
variants.
* doc/invoke.texi: Likewise.
* doc/md.texi: Likewise.

Index: gcc/doc/extend.texi
===
--- gcc/doc/extend.texi	(revision 219956)
+++ gcc/doc/extend.texi	(working copy)
@@ -971,7 +971,7 @@ typedef _Complex float __attribute__((mo
 @end smallexample
 
 Not all targets support additional floating-point types.  @code{__float80}
-and @code{__float128} types are supported on i386, x86_64 and IA-64 targets.
+and @code{__float128} types are supported on x86 and IA-64 targets.
 The @code{__float128} type is supported on hppa HP-UX targets.
 
 @node Half-Precision
@@ -2178,10 +2178,10 @@ the enclosing block.
 @cindex @code{const} applied to function
 @cindex functions with @code{printf}, @code{scanf}, @code{strftime} or @code{strfmon} style arguments
 @cindex functions with non-null pointer arguments
-@cindex functions that are passed arguments in registers on the 386
-@cindex functions that pop the argument stack on the 386
-@cindex functions that do not pop the argument stack on the 386
-@cindex functions that have different compilation options on the 386
+@cindex functions that are passed arguments in registers on x86-32
+@cindex functions that pop the argument stack on x86-32
+@cindex functions that do not pop the argument stack on x86-32
+@cindex functions that have different compilation options on x86-32
 @cindex functions that have different optimization options
 @cindex functions that are dynamically resolved
 
@@ -2426,9 +2426,9 @@ is diagnosed earlier and with exact loca
 of inline functions or when not emitting debugging information.
 
 @item cdecl
-@cindex functions that do pop the argument stack on the 386
+@cindex functions that do pop the argument stack on x86-32
 @opindex mrtd
-On the Intel 386, the @code{cdecl} attribute causes the compiler to
+On the x86-32 targets, the @code{cdecl} attribute causes the compiler to
 assume that the calling function pops off the stack space used to
 pass arguments.  This is
 useful to override the effects of the @option{-mrtd} switch.
@@ -2677,8 +2677,8 @@ function is a fast interrupt handler.  T
 instead of @code{reit}.
 
 @item fastcall
-@cindex functions that pop the argument stack on the 386
-On the Intel 386, the @code{fastcall} attribute causes the compiler to
+@cindex functions that pop the argument stack on x86-32
+On x86-32 targets, the @code{fastcall} attribute causes the compiler to
 pass the first argument (if of integral type) in the register ECX and
 the second argument (if of integral type) in the register EDX@.  Subsequent
 and other typed arguments are passed on the stack.  The called function
@@ -2686,8 +2686,8 @@ pops the arguments off the stack.  If th
 arguments are pushed on the stack.
 
 @item thiscall
-@cindex functions that pop the argument stack on the 386
-On the Intel 386, the @code{thiscall} attribute causes the compiler to
+@cindex functions that pop the argument stack on x86-32
+On x86-32 targets, the @code{thiscall} attribute causes the compiler to
 pass the first argument (if of integral type) in the register ECX.
 Subsequent and other typed arguments are passed on the stack. The called
 function pops the arguments off the stack.
@@ -3344,7 +3344,7 @@ defined by shared libraries.
 @cindex @code{ms_abi} attribute
 @cindex @code{sysv_abi} attribute
 
-On 32-bit and 64-bit (i?86|x86_64)-*-* targets, you can use an ABI attribute
+On 32-bit and 64-bit x86 targets, you can use an ABI attribute
 to indicate which calling convention should be used for a function.  The
 @code{ms_abi} attribute tells the compiler to use the Microsoft ABI,
 whil