[LLVMdev] Multi instruction pattern help
Chris Lattner
clattner at apple.com
Mon Oct 6 21:15:00 PDT 2008
On Oct 6, 2008, at 5:42 PM, Villmow, Micah wrote:
> I am trying to get a multi instruction pattern to work and seem to
> be running into trouble.
> The problem itself is fairly simple. I need to go from 64bit floats
> to 32bit integers. As the backend doesn’t support this natively but
> has a way of converting it, I’d prefer to get this working via
> tablegen.
>
> What I thought would work from the previous discussion is the
> following:
> def : Pat<(fp_to_uint (f64 GPR:$src0)),
> (fp_to_uint (f32 (dp_to_fp (f64 GPR:$src0))))>;
>
> Which when it runs across a 64bit float, it does a double to single
> conversion, and then calls the 32bit float to int routine.
>
> However, tablegen fails with the following error:
> 1>anonymous.2: (fp_to_uint:isInt GPR:f64:$src0)
This is trying to tell you that it inferred that fp_to_uint returns an
integer type, but it doesn't know which one. Try disambiguating
either the input or output with an explicit type, ilke (i32
(fp_to_uint (...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20081006/84cebfbf/attachment.html>
More information about the llvm-dev
mailing list