<div dir="ltr">On Thu, 6 Sep 2018 at 20:01, Tim Northover <<a href="mailto:t.p.northover@gmail.com">t.p.northover@gmail.com</a>> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
I just did a very quick experiment where I made lowerFP_TO_SINT and<br>
lowerFP_TO_SINT_STORE return SDValue() (which is the marker for "I<br>
don't want to handle this").</blockquote><div><br></div><div>I just tried this, but the compiler still crashes with the same error. Maybe our experiments were different.<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
To make it production-quality you'd want to predicate the changes I<br>
made on Subtarget->isSingleFloat() I think (probably in combination<br>
with the actual types, since f32 -> i32 ought to still be OK with the<br>
existing code). The main annoyance there is that lowerFP_TO_SINT_STORE<br>
is static rather than a member of MipsISelLowering so it doesn't have<br>
access to Subtarget. Personally, I'd just make it a member function to<br>
fix that.<br></blockquote><div><br></div><div>lowerFP_TO_SINT_STORE is only ever called by lowerFP_TO_SINT, so I'm just passing single-floatness (we need a better name for that) as an argument to lowerFP_TO_SINT_STORE at the moment.<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers.<br>
<br>
Tim.<br>
</blockquote></div></div>