This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
Re: [TESTCASE] gcc miscompiles Altivec code
- From: Aldy Hernandez <aldyh at redhat dot com>
- To: Daniel Egger <degger at fhm dot edu>
- Cc: GCC Developer Mailinglist <gcc at gcc dot gnu dot org>
- Date: Tue, 26 Feb 2002 11:16:04 +1100
- Subject: Re: [TESTCASE] gcc miscompiles Altivec code
On Tuesday, February 26, 2002, at 09:15 AM, Daniel Egger wrote:
> Hija,
>
> I distilled a (not so) small example for code being miscompiled
> by gcc from yesterday on linux-ppc.
> This one will segfault on my maschine when compiled with -O0.
this is really helpful. thanks.
however...
tried it on my darwin box... compiles fine with -O[012]. i tried
it on apple's altivec compiler and the resulting vectors are all zero.
i added a loop like this to print them:
for (i=0; i < 7; ++i) {
printv((vector signed int)vec[i]);
printv((vector signed int)v1[i]);
printv((vector signed int)v2[i]);
}
typedef vector signed int vecint;
void printv(vecint v)
{
int foo[4] __attribute__((aligned(16))) ;
vec_st (v, 0, foo);
printf("%x %x %x %x a3\n", foo[0], foo[1], foo[2], foo[3]);
}
i ran with cvs gcc, and it not only compiles but yields the same 0's
as the apple compiler.
are you passing any special flags to cc1?