This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: SSE ABI change proof for Jan's old patch



On Dec 29, 2003, at 20:29, Richard Henderson wrote:


On Mon, Dec 29, 2003 at 06:58:32PM -0500, Daniel Berlin wrote:
This is SSE. arch=i686 doesn't support SSE, so you'd never be able to
compile the same code anyway.

You forget about our generalized vector support.


typedef __attribute__((vector_size(16))) int v4si;

	v4si foo(v4si x, v4si y)
	{
	  return x + y;
	}

	void bar (v4si x, v4si y, v4si *p)
	{
	  *p = x + y;
	}

I do note that we already warn:

z.c: In function `foo':
z.c:4: warning: SSE vector return without SSE enabled changes the ABI

so I suppose a similar warning for parameter passing would be
acceptable.

But GCC does not warn for use of generalized vector when using on PPC which does
change ABI when you use altivec, either with return values or parameter passing.
Why do we want one for x86 or should we add one for PPC also?


Thanks,
Andrew Pinski


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]