[LLVMdev] TableGen Type Inference
Dan Gohman
gohman at apple.com
Fri Jun 5 15:41:39 PDT 2009
How is bc_memopv4i32 defined? The bitconvert in the tablegen
output is marked isInt, which means it's the node that didn't get
inferred.
Dan
On Jun 4, 2009, at 1:06 PM, David Greene wrote:
> Can someone explain why TableGen can't figure this out?
>
> VCVTDQ2PS128rm: (set:isVoid VR128:v4f32:$dst, (sint_to_fp:v4f32
> (bitconvert:isInt (ld:v4i32 addr:iPTR:$src)<<P:Predicate_memop>>)))
> llvm/tblgen: In VCVTDQ2PS128rm: Could not infer all types in pattern!
>
> The pattern as written looks like this:
>
> [(set VR128:$dst, (v4f32 (sint_to_fp (bc_memopv4i32 addr:$src))))]
>
> I'm trying to unify AVX/SSE converts in a reasonable way. Right now,
> X86InstrSSE.td doesn't have patterns for sint_to_fp and fp_to_sint
> with memory operands. I guess this is why, but I don't understand
> why it's illegal.
>
> -Dave
> _______________________________________________
> LLVM Developers mailing list
> LLVMdev at cs.uiuc.edu http://llvm.cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvmdev
More information about the llvm-dev
mailing list