SSE types and structures
Jan Hubicka
jh@suse.cz
Tue Jun 18 09:16:00 GMT 2002
> On Tue, 18 Jun 2002, Jan Hubicka wrote:
> > I was checking and it does not work for me:
> > typedef int __v8qi __attribute__ ((__mode__ (__V8QI__)));
> > __v8qi t;
> > long long q;
> > e()
> > {
> > t=q;
> > }
> > hubicka@atrey:~/egcs2/egcs/build/gcc$ ./xgcc -B ./ -O2 t.c -msse
> > t.c: In function `e':
> > t.c:6: error: incompatible types in assignment
>
> Well, it does work if you make the cast explicit. It just won't do the
> conversion automatically.
OK, now I see what confused me:
typedef int __v8qi __attribute__ ((__mode__ (__V8QI__)));
int i;
__v8qi q;
t ()
{
long long e = i;
q = (__v8qi) e;
q = (__v8qi) (long long) i;
}
hubicka@atrey:~/egcs2/egcs/build/gcc$ ./xgcc -B
./ -O2 q.c -msse -S
q.c: In function `t':
q.c:9: error: can't convert between vector
values of different size
The first convesion passes, while the second not. Is that intended
behaviour. How this happent?
Honza
>
>
> Bernd
More information about the Gcc-bugs
mailing list