lifting-bits / remill

Library for lifting machine code to LLVM bitcode
Apache License 2.0
1.22k stars 141 forks source link

Use LLVM `isnan` intrinsic to implement SLEIGH's `FLOAT_NAN` #587

Open tetsuo-cpp opened 2 years ago

tetsuo-cpp commented 2 years ago

As of #585, we're implementing FLOAT_NAN with our own code that checks the float against itself with an ordered float comparison.

LLVM is considering an isnan intrinsic that would be helpful for us. It got merged and then subsequently reverted in https://github.com/llvm/llvm-project/commit/3f1f08f0ed6aa1ebd4678583cbbf5026ca5cbdf8 but it'd be good to keep an eye on this and see whether it makes its way into LLVM 15.