summaryrefslogtreecommitdiff
path: root/src/jit/gtstructs.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/gtstructs.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/gtstructs.h')
-rw-r--r--src/jit/gtstructs.h10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/jit/gtstructs.h b/src/jit/gtstructs.h
index 6cfb92c98e..0df4e35078 100644
--- a/src/jit/gtstructs.h
+++ b/src/jit/gtstructs.h
@@ -85,11 +85,15 @@ GTSTRUCT_1(FptrVal , GT_FTN_ADDR)
GTSTRUCT_1(Intrinsic , GT_INTRINSIC)
GTSTRUCT_1(Index , GT_INDEX)
GTSTRUCT_1(IndexAddr , GT_INDEX_ADDR)
-#ifdef FEATURE_SIMD
+#if defined(FEATURE_HW_INTRINSICS) && defined(FEATURE_SIMD)
+GTSTRUCT_3(BoundsChk , GT_ARR_BOUNDS_CHECK, GT_SIMD_CHK, GT_HW_INTRINSIC_CHK)
+#elif defined(FEATURE_SIMD)
GTSTRUCT_2(BoundsChk , GT_ARR_BOUNDS_CHECK, GT_SIMD_CHK)
-#else // !FEATURE_SIMD
+#elif defined(FEATURE_HW_INTRINSICS)
+GTSTRUCT_2(BoundsChk , GT_ARR_BOUNDS_CHECK, GT_HW_INTRINSIC_CHK)
+#else // !FEATURE_SIMD && !FEATURE_HW_INTRINSICS
GTSTRUCT_1(BoundsChk , GT_ARR_BOUNDS_CHECK)
-#endif // !FEATURE_SIMD
+#endif // !FEATURE_SIMD && !FEATURE_HW_INTRINSICS
GTSTRUCT_1(ArrLen , GT_ARR_LENGTH)
GTSTRUCT_1(ArrElem , GT_ARR_ELEM)
GTSTRUCT_1(ArrOffs , GT_ARR_OFFSET)