[LLVMdev] llvm::ShuffleVectorInst yields incorrect vector length in 2.6

Maarten Hoeben maarten.hoeben at avinity.net
Tue Feb 2 04:56:09 PST 2010


When I emit the llvm::ShuffleVectorInst instruction from my code generator
the result vector has the length of vector 1, instead of the element type of
vector 1 and the length of the mask vector;

  %13 = load <3 x float>* %w                      ; <<3 x float>> [#uses=0]
  %14 = shufflevector <3 x float> %13, <3 x float> undef, <2 x i32> <i32 1,
i32 0> ; <<3 x float>> [#uses=0]

The documentation reads;

"The result of the instruction is a vector whose length is the same as the
shuffle mask and whose element type is the same as the element type of the
first two operands."

Is this a bug, or am I misusing the ShuffleVectorInst instruction?

Dumping the individual parameters before calling the ShuffleVectorInst

  %13 = load <3 x float>* %w                      ; <<3 x float>> [#uses=0]
<3 x float> undef
<2 x i32> <i32 1, i32 0>

Any suggesion? Thanks in advance!


Maarten Hoeben
View this message in context: http://old.nabble.com/llvm%3A%3AShuffleVectorInst-yields-incorrect-vector-length-in-2.6-tp27419900p27419900.html
Sent from the LLVM - Dev mailing list archive at Nabble.com.

More information about the llvm-dev mailing list