Restrictions on bitcast of arbitrary vector types?

Hi,

The LLVM lang ref (http://llvm.org/docs/LangRef.html#i_bitcast) notes that bitcast of vectors to vectors is OK, provided the vectors are of the same size. In attempting this on large vector types (e.g. 16xi64 -> 16xf64), I get assertions related to Extended Value Types when attempting to perform code generation, but no errors at the BC level. Is it simply unsupported to stray outwith the set of vector types in SimpleValueType in ValueTypes.h ?

Cheers,
George

Hi George,

The LLVM lang ref (http://llvm.org/docs/LangRef.html#i_bitcast) notes
that bitcast of vectors to vectors is OK, provided the vectors are of
the same size. In attempting this on large vector types (e.g. 16xi64 ->
16xf64), I get assertions related to Extended Value Types when
attempting to perform code generation, but no errors at the BC level. Is
it simply unsupported to stray outwith the set of vector types in
SimpleValueType in ValueTypes.h ?

this sounds like a bug - the type legalizer should take care of this.

Ciao, Duncan.