[LLVMdev] Need Advice on AVX
David Greene
dag at cray.com
Tue Nov 24 11:35:30 PST 2009
On Tuesday 24 November 2009 12:57, David Greene wrote:
> So I can mark it as not legal but how should it be lowered? I can't
> bitcast to a v2i64 because the vector sizes are different. I could
> do an extract_subreg and then write a pattern to match that to MOVQ.
What does this mean?
def MOVSX16rr8 : I<0xBE, MRMSrcReg, (outs GR16:$dst), (ins GR8 :$src),
"movs{bl|x}\t{$src, ${dst:subreg32}|${dst:subreg32},
$src}",
[(set GR16:$dst, (sext GR8:$src))]>, TB;
How does ${dst:subreg32} work? Can one do the same for sources? I
don't see an references to "subreg" in the TableGen sources. I see
it handled in the X86 AsmPrinter. Looks like it should work for
sources too.
Is it preferable to use the source modifier or write an EXTRACT_SUBREG
pattern explicitly?
-Dave
More information about the llvm-dev
mailing list