@@ -3028,22 +3028,74 @@ class Compiler
3028
3028
bool isIntrinsicAnIsSupportedPropertyGetter (NamedIntrinsic intrinsic);
3029
3029
bool isFullyImplmentedISAClass (InstructionSet isa);
3030
3030
#ifdef _TARGET_XARCH_
3031
- GenTree* impX86HWIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3032
- GenTree* impSSEIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3033
- GenTree* impSSE2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3034
- GenTree* impSSE3Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3035
- GenTree* impSSSE3Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3036
- GenTree* impSSE41Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3037
- GenTree* impSSE42Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3038
- GenTree* impAVXIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3039
- GenTree* impAVX2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3040
- GenTree* impAESIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3041
- GenTree* impBMI1Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3042
- GenTree* impBMI2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3043
- GenTree* impFMAIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3044
- GenTree* impLZCNTIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3045
- GenTree* impPCLMULQDQIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3046
- GenTree* impPOPCNTIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3031
+ GenTree* impUnsupportedHWIntrinsic (unsigned helper,
3032
+ CORINFO_METHOD_HANDLE method,
3033
+ CORINFO_SIG_INFO* sig,
3034
+ bool mustExpand);
3035
+ GenTree* impX86HWIntrinsic (NamedIntrinsic intrinsic,
3036
+ CORINFO_METHOD_HANDLE method,
3037
+ CORINFO_SIG_INFO* sig,
3038
+ bool mustExpand);
3039
+ GenTree* impSSEIntrinsic (NamedIntrinsic intrinsic,
3040
+ CORINFO_METHOD_HANDLE method,
3041
+ CORINFO_SIG_INFO* sig,
3042
+ bool mustExpand);
3043
+ GenTree* impSSE2Intrinsic (NamedIntrinsic intrinsic,
3044
+ CORINFO_METHOD_HANDLE method,
3045
+ CORINFO_SIG_INFO* sig,
3046
+ bool mustExpand);
3047
+ GenTree* impSSE3Intrinsic (NamedIntrinsic intrinsic,
3048
+ CORINFO_METHOD_HANDLE method,
3049
+ CORINFO_SIG_INFO* sig,
3050
+ bool mustExpand);
3051
+ GenTree* impSSSE3Intrinsic (NamedIntrinsic intrinsic,
3052
+ CORINFO_METHOD_HANDLE method,
3053
+ CORINFO_SIG_INFO* sig,
3054
+ bool mustExpand);
3055
+ GenTree* impSSE41Intrinsic (NamedIntrinsic intrinsic,
3056
+ CORINFO_METHOD_HANDLE method,
3057
+ CORINFO_SIG_INFO* sig,
3058
+ bool mustExpand);
3059
+ GenTree* impSSE42Intrinsic (NamedIntrinsic intrinsic,
3060
+ CORINFO_METHOD_HANDLE method,
3061
+ CORINFO_SIG_INFO* sig,
3062
+ bool mustExpand);
3063
+ GenTree* impAVXIntrinsic (NamedIntrinsic intrinsic,
3064
+ CORINFO_METHOD_HANDLE method,
3065
+ CORINFO_SIG_INFO* sig,
3066
+ bool mustExpand);
3067
+ GenTree* impAVX2Intrinsic (NamedIntrinsic intrinsic,
3068
+ CORINFO_METHOD_HANDLE method,
3069
+ CORINFO_SIG_INFO* sig,
3070
+ bool mustExpand);
3071
+ GenTree* impAESIntrinsic (NamedIntrinsic intrinsic,
3072
+ CORINFO_METHOD_HANDLE method,
3073
+ CORINFO_SIG_INFO* sig,
3074
+ bool mustExpand);
3075
+ GenTree* impBMI1Intrinsic (NamedIntrinsic intrinsic,
3076
+ CORINFO_METHOD_HANDLE method,
3077
+ CORINFO_SIG_INFO* sig,
3078
+ bool mustExpand);
3079
+ GenTree* impBMI2Intrinsic (NamedIntrinsic intrinsic,
3080
+ CORINFO_METHOD_HANDLE method,
3081
+ CORINFO_SIG_INFO* sig,
3082
+ bool mustExpand);
3083
+ GenTree* impFMAIntrinsic (NamedIntrinsic intrinsic,
3084
+ CORINFO_METHOD_HANDLE method,
3085
+ CORINFO_SIG_INFO* sig,
3086
+ bool mustExpand);
3087
+ GenTree* impLZCNTIntrinsic (NamedIntrinsic intrinsic,
3088
+ CORINFO_METHOD_HANDLE method,
3089
+ CORINFO_SIG_INFO* sig,
3090
+ bool mustExpand);
3091
+ GenTree* impPCLMULQDQIntrinsic (NamedIntrinsic intrinsic,
3092
+ CORINFO_METHOD_HANDLE method,
3093
+ CORINFO_SIG_INFO* sig,
3094
+ bool mustExpand);
3095
+ GenTree* impPOPCNTIntrinsic (NamedIntrinsic intrinsic,
3096
+ CORINFO_METHOD_HANDLE method,
3097
+ CORINFO_SIG_INFO* sig,
3098
+ bool mustExpand);
3047
3099
bool compSupportsHWIntrinsic (InstructionSet isa);
3048
3100
bool isScalarISA (InstructionSet isa);
3049
3101
#endif // _TARGET_XARCH_
0 commit comments