<html><body><p><tt><font size="2">Following up on myself after some further investigation:</font></tt><br><br><tt><font size="2">>Craig Topper wrote:<br>><br>>></font></tt><tt><i><font size="2">I was thinking about a few less common floating point things and wondered<br></font></i></tt><tt><font size="2">>></font></tt><tt><i><font size="2">if we need constrained/strict versions of them.<br></font></i></tt><tt><font size="2">>></font></tt><tt><i><font size="2"><br></font></i></tt><tt><font size="2">>></font></tt><tt><i><font size="2">-int_fmuladd - which is used by clang to support fp-contract=on where only<br></font></i></tt><tt><font size="2">>></font></tt><tt><i><font size="2">operations within a statement sare allowed to be concentrated.<br>></font></i></tt><tt><font size="2"><br>>Probably yes.</font></tt><br><br><tt><font size="2">OTOH this is also solely an optimization, so for now we could</font></tt><br><tt><font size="2">simply have clang not generate those when in strict mode.</font></tt><br><tt><font size="2"><br></font></tt><tt><font size="2">>I'm also seeing the following additional intrinsics:<br>><br>>- int_canonicalize<br>>I believe we need a strict version of this as well.<br></font></tt><br><tt><font size="2">It seems like this is currently only supported on AMDGPU</font></tt><br><tt><font size="2">and will simply trigger an internal error everywhere else.</font></tt><br><tt><font size="2">(I thought there was a default expansion to a multiply</font></tt><br><tt><font size="2">with 1.0 or something, but apparently not ...)</font></tt><br><br><tt><font size="2">Given that, I don't think we need a strict version</font></tt><br><tt><font size="2">either (at least not straight away).</font></tt><br><br><tt><font size="2">>- int_maximum/int_minimum<br>>This is currently only generated by clang to implement some WebAssembly<br>>builtins, but adding strict support to parallel maxnum/minnum should<br>>be straightforward.<br></font></tt><br><tt><font size="2">I have a patch for those, which I'll post after </font></tt><tt><font size="2">D71218 </font></tt><tt><font size="2">is in.</font></tt><br><br><tt><font size="2">Bye,</font></tt><br><tt><font size="2">Ulrich</font></tt><br><BR>
</body></html>