<html><body><p><tt><font size="2">Ulrich Weigand/Germany/IBM wrote on 06.03.2018 16:07:34:<br><br>> So it appears to me that if we need a chain (or control register</font></tt><br><tt><font size="2">> dependencies etc.), it would be easier on the back-end anyway to</font></tt><br><tt><font size="2">> have a different ISD node, in which case it just might be the easiest</font></tt><br><tt><font size="2">> to pass the STRICT_ nodes through to the back-end if it wants ...</font></tt><br><tt><font size="2">> <br>> I'll try and go ahead with the SystemZ back-end to see how complicated</font></tt><br><tt><font size="2">> it would actually be to add those nodes, so that we can make an</font></tt><br><tt><font size="2">> informed decision.</font></tt><br><br><tt><font size="2">I've now implemented the above to handle all the currently supported</font></tt><br><tt><font size="2">STRICT_ FP nodes in the SystemZ back-end (at least for pre-z13 machines,</font></tt><br><tt><font size="2">I'm not supporting vector instructions yet):</font></tt><br><br><a href="https://reviews.llvm.org/D45576"><tt><font size="2">https://reviews.llvm.org/D45576</font></tt></a><br><br><tt><font size="2">I've tested this using a hacked clang front-end that always uses</font></tt><br><tt><font size="2">constrained intrisincs in place of most regular FP operations,</font></tt><br><tt><font size="2">and it at least still passes the LNT test-suite.</font></tt><br><br><tt><font size="2">I'd appreciate any comments on whether this looks like an acceptable</font></tt><br><tt><font size="2">approach.  In particular, I'd like to hear from Andrew how this</font></tt><br><tt><font size="2">compares with your approach -- I understand you have some other</font></tt><br><tt><font size="2">method in mind to handle this for x86?</font></tt><br><br><tt><font size="2">Bye,</font></tt><br><tt><font size="2">Ulrich</font></tt><br><BR>
</body></html>