I’ve posted patches to add 2 new math intrinsics:
https://reviews.llvm.org/D14327
https://reviews.llvm.org/D149715
Frexp is a weird case because I’ve chosen to use a struct return. As a poor excuse for return values, this limits the applicability of fast math flags. Alternatively a pair of intrinsics could be introduced for the two pieces of the result and merged in codegen as necessary, similar to div/rem.