[PATCH] D45616: [X86] Lower _mm[256|512]_cmp[.]_mask intrinsics to native llvm IR
Eli Friedman via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Mon Jun 11 14:26:31 PDT 2018
efriedma added inline comments.
================
Comment at: lib/CodeGen/CGBuiltin.cpp:10071
+ // is _MM_FROUND_CUR_DIRECTION
+ if (cast<llvm::ConstantInt>(Ops[4])->getZExtValue() != 4)
+ UsesNonDefaultRounding = true;
----------------
Given we're ignoring floating-point exceptions, we should also ignore the "rounding mode" operand (__MM_FROUND_NO_EXC only affects exceptions, and the other values are irrelevant because there isn't any actual rounding involved).
================
Comment at: lib/CodeGen/CGBuiltin.cpp:10156
- // We can't handle 8-31 immediates with native IR, use the intrinsic.
- // Except for predicates that create constants.
+ // These two must still use the intrinsic, when some interseting rounding
+ // mode is specified.
----------------
*interesting.
https://reviews.llvm.org/D45616
More information about the cfe-commits
mailing list