Skip to content
This repository was archived by the owner on Nov 1, 2021. It is now read-only.

Commit d3096f7

Browse files
committed
Add llvm.minnum.f(32|64) and llvm.maxnum.f(32|64) intrinsics
The corresponding change to Emscripten is this PR: emscripten-core/emscripten#5978, and relates to this issue: emscripten-core/emscripten#5976. I’m using #143 as a model.
1 parent ea6a28b commit d3096f7

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

lib/Target/JSBackend/CallHandlers.h

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -975,6 +975,10 @@ DEF_MAYBE_BUILTIN_HANDLER(llvm_cos_f32, Math_cos);
975975
DEF_MAYBE_BUILTIN_HANDLER(llvm_cos_f64, Math_cos);
976976
DEF_MAYBE_BUILTIN_HANDLER(llvm_sin_f32, Math_sin);
977977
DEF_MAYBE_BUILTIN_HANDLER(llvm_sin_f64, Math_sin);
978+
DEF_MAYBE_BUILTIN_HANDLER(llvm_minnum_f32, Math_min);
979+
DEF_MAYBE_BUILTIN_HANDLER(llvm_minnum_f64, Math_min);
980+
DEF_MAYBE_BUILTIN_HANDLER(llvm_maxnum_f32, Math_max);
981+
DEF_MAYBE_BUILTIN_HANDLER(llvm_maxnum_f64, Math_max);
978982

979983
DEF_CALL_HANDLER(llvm_powi_f32, {
980984
return getAssign(CI) + getParenCast("Math_pow(" + getValueAsCastStr(CI->getOperand(0)) + ", " + getCast(getValueAsCastStr(CI->getOperand(1)), CI->getOperand(0)->getType()) + ")", CI->getType());
@@ -2237,6 +2241,10 @@ void setupCallHandlers() {
22372241
SETUP_CALL_HANDLER(llvm_cos_f64);
22382242
SETUP_CALL_HANDLER(llvm_sin_f32);
22392243
SETUP_CALL_HANDLER(llvm_sin_f64);
2244+
SETUP_CALL_HANDLER(llvm_minnum_f32);
2245+
SETUP_CALL_HANDLER(llvm_minnum_f64);
2246+
SETUP_CALL_HANDLER(llvm_maxnum_f32);
2247+
SETUP_CALL_HANDLER(llvm_maxnum_f64);
22402248
}
22412249

22422250
std::string handleCall(const Instruction *CI) {

0 commit comments

Comments
 (0)