SSE types and structures

Jan Hubicka jh@suse.cz
Tue Jun 18 10:46:00 GMT 2002


> On Tue, Jun 18, 2002 at 05:03:59PM +0200, Jan Hubicka wrote:
> > int i;
> > __v8qi q;
> >   q = (__v8qi) (long long) i;
> [...]
> > q.c:9: error: can't convert between vector values of different size
> 
> This must be a bug in Aldy's generic vector code.

I am just looking into this.  The problem seems to be that chained casts
are simplified into single cast.  During this folding, the convert is
called again, now with incorrect values.

I am not quite sure how to go off here.  When I change code to generate
the nested casts for such situations, I end up in infinite recursion,
when I change code to allow the conversion, I die later in convert_move
where I guess I can't handle this properly anymore as the signedness bit
is lost, but I am investigating.

Honza
> 
> 
> r~



More information about the Gcc-bugs mailing list