summaryrefslogtreecommitdiff
path: root/src/jit/namedintrinsiclist.h
diff options
context:
space:
mode:
authorFei Peng <fei.peng@intel.com>2018-02-26 13:02:12 -0800
committerTanner Gooding <tagoo@outlook.com>2018-02-26 19:08:13 -0800
commite61f7f44f8d115aaf688c3238f0e5d44e40dfb29 (patch)
tree211179946e23da48df6ffe10ac437454700a798c /src/jit/namedintrinsiclist.h
parentec78ba4a4467fff7ca069a3123788c96eeca2ebc (diff)
downloadcoreclr-e61f7f44f8d115aaf688c3238f0e5d44e40dfb29.tar.gz
coreclr-e61f7f44f8d115aaf688c3238f0e5d44e40dfb29.tar.bz2
coreclr-e61f7f44f8d115aaf688c3238f0e5d44e40dfb29.zip
Update the table-driven framework to support x86 imm-intrinsics.
And add a new range-check IR for x86 imm-intrinsics.
Diffstat (limited to 'src/jit/namedintrinsiclist.h')
-rw-r--r--src/jit/namedintrinsiclist.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/jit/namedintrinsiclist.h b/src/jit/namedintrinsiclist.h
index 3bc85976d1..cf739328c2 100644
--- a/src/jit/namedintrinsiclist.h
+++ b/src/jit/namedintrinsiclist.h
@@ -31,7 +31,7 @@ enum NamedIntrinsic : unsigned int
#endif
};
-#if FEATURE_HW_INTRINSICS && defined(_TARGET_XARCH_)
+#if defined(FEATURE_HW_INTRINSICS) && defined(_TARGET_XARCH_)
enum HWIntrinsicFlag : unsigned int
{
HW_Flag_NoFlag = 0,
@@ -79,7 +79,15 @@ enum HWIntrinsicFlag : unsigned int
HW_Flag_BaseTypeFromArg = 0x400,
// Indicates compFloatingPointUsed does not need to be set.
- HW_Flag_NoFloatingPointUsed = 0x800
+ HW_Flag_NoFloatingPointUsed = 0x800,
+
+ // Maybe IMM
+ // the intrinsic has either imm or Vector overloads
+ HW_Flag_MaybeIMM = 0x1000,
+
+ // NoJmpTable IMM
+ // the imm intrinsic does not need jumptable fallback when it gets non-const argument
+ HW_Flag_NoJmpTableIMM = 0x2000,
};
inline HWIntrinsicFlag operator|(HWIntrinsicFlag c1, HWIntrinsicFlag c2)