Is it possible to represent floating-point constants in TableGen definitions?<div><br></div><div>Let's say I have the following pattern:</div><div><br></div><div>def : Pat<(i1 (trunc RegI16:$a)),      (SETPGTu16ri RegI16:$a, 0)>;</div>
<div><br></div><div>Note the zero constant in the result.  Is there a way to represent floating-point literals in the same way?  Something like...</div><div><br></div><div>def : Pat<(i1 (uint_to_fp RegF32:$a)),      (SETPGTf32ri RegF32:$a, (f32 0.0))>;</div>
<div><div><br></div><div>This unfortunately does not work.  Right now I'm getting around this by using alternate instructions to first convert from an integer immediate, something like:</div><div><br></div><div>def : Pat<(i1 (uint_to_fp RegF32:$a)),      (SETPGTf32ri RegF32:$a, (MOVf32i32 0))>;</div>
<div><br></div><div>Since my back-end supports floating-point literals in the instructions, I'd rather not introduce additional instructions needlessly.</div><div><br></div>-- <br><br><div>Thanks,</div><div><br></div>
<div>Justin Holewinski</div><br>
</div>