[LLVMdev] Selecting Vector Shuffle of Different Types
David Greene
dag at cray.com
Wed Dec 2 15:51:56 PST 2009
On Wednesday 02 December 2009 17:46, David Greene wrote:
> VEXTRACTF128_256mri: (st:isVoid (vector_shuffle:v4f32 (undef:v8f32),
> VR256:v8f32:$src1, (build_vector)<<P:Predicate_VEXTRACTF128_shuffle_mask>>:
> $src2), addr:iPTR:
> $dst)<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_align
>edstore>> tblgen: In VEXTRACTF128_256mri: Type inference contradiction found
> in node vector_shuffle!
>
> Well, it's right! So how do I express this kind of thing? Since LLVM 2.5
> shufflevector supports creating a vector of a difference size than the
> inputs. Which is exactly what we need for VEXTRACTF128 and VINSERTF128.
I suppose I could add an extract_subreg to make TableGen happy about types.
This is already custom lowered so it wouldn't be hard to do. Is that the
correct approach here?
-Dave
More information about the llvm-dev
mailing list