diff options
author | Fei Peng <fei.peng@intel.com> | 2018-02-26 13:02:12 -0800 |
---|---|---|
committer | Tanner Gooding <tagoo@outlook.com> | 2018-02-26 19:08:13 -0800 |
commit | e61f7f44f8d115aaf688c3238f0e5d44e40dfb29 (patch) | |
tree | 211179946e23da48df6ffe10ac437454700a798c /src/jit/namedintrinsiclist.h | |
parent | ec78ba4a4467fff7ca069a3123788c96eeca2ebc (diff) | |
download | coreclr-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.h | 12 |
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) |