This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH] Add attribute((target("..."))) and pragma target to PowerPC
- From: "Joseph S. Myers" <joseph at codesourcery dot com>
- To: Michael Meissner <meissner at linux dot vnet dot ibm dot com>
- Cc: gcc-patches at gcc dot gnu dot org, dje dot gcc at gmail dot com
- Date: Mon, 1 Nov 2010 23:52:37 +0000 (UTC)
- Subject: Re: [PATCH] Add attribute((target("..."))) and pragma target to PowerPC
- References: <20101031182504.GA14215@hungry-tiger.westford.ibm.com> <Pine.LNX.4.64.1010311851180.19741@digraph.polyomino.org.uk> <20101101174906.GA8243@hungry-tiger.westford.ibm.com> <20101101231522.GA22461@hungry-tiger.westford.ibm.com>
On Mon, 1 Nov 2010, Michael Meissner wrote:
> On Mon, Nov 01, 2010 at 01:49:06PM -0400, Michael Meissner wrote:
> > The simplest way to fix this is to require the user on 32-bit to use an
> > explicit -maltivec-abi switch if they want to switch to a power7 cpu or enable
> > altivec (similarly for the rs6000_spe_abi, rs6000_float_gprs, and
> > rs6000_darwin64_abi variables).
>
> Whoops, that should be -mabi=altivec.
>
> The following patch applied on top of my previous patch, will give an error if
> any option changes the various abi's. It also changes the debug information
> somewhat. Does this answer your objection?
It looks like it. Note that there are problems with diagnostic
formatting:
> + error ("You cannot change long double size within a target attribute "
> + "or pragma");
Diagnostics should not start with a capital letter, and "You cannot" is
not the normal style; I'd think the message should be something like
error ("target attribute or pragma changes long double size");
or use sorry () if you think the feature should be supported (that's more
likely with the AltiVec ABI, though maybe that should be a separate
attribute instead) and the lack of support is a limitation of the
implementation.
> + error ("You cannot switch to the altivec abi within a target "
"AltiVec" and "ABI". Likewise elsewhere.
--
Joseph S. Myers
joseph@codesourcery.com