[LLVMdev] Duplicate Label in Generates ISel
David Greene
dag at cray.com
Thu Dec 3 13:45:13 PST 2009
On Thursday 03 December 2009 13:52, David Greene wrote:
> On Thursday 03 December 2009 13:43, David Greene wrote:
> > Whoops, I forgot to fill in types:
> >
> > (outs VR128:$dst), (ins VR129:$src1, i32i8imm:$src2)
> >
> > [(set DSTREGCLASS:$dst,
> > (v4f32 (extract_subreg
> > (vector_shuffle
> > (v8f32 undef),
> > (v8f32 SRCREGCLASS:$src1),
> > VEXTRACTF128_shuffle_mask:$src2),
> > x86_subreg_128bit)))],
>
> Well, it's conflicting with the hard-coded case statement from
> DAGISelEmitter.cpp. What's the best way to resolve this? Introduce
> another DAG operator that means the same thing as ISD::EXTRACT_SUBREG
> but that can be used as the top-level operator in a pattern?
I added X86ISD::EXTRACT_SUBREG and that works for now. But I don't think
that's an appropriate long-term solution. Any opinions?
-Dave
More information about the llvm-dev
mailing list