@@ -2058,9 +2058,13 @@ class Compiler
2058
2058
2059
2059
#if FEATURE_HW_INTRINSICS
2060
2060
GenTreeHWIntrinsic* gtNewSimdHWIntrinsicNode (
2061
- var_types type, GenTree* op1, NamedIntrinsic hwIntrinsicID, var_types baseType, unsigned size);
2062
- GenTreeHWIntrinsic* gtNewSimdHWIntrinsicNode (
2063
- var_types type, GenTree* op1, GenTree* op2, NamedIntrinsic hwIntrinsicID, var_types baseType, unsigned size);
2061
+ var_types type, GenTree* op1, NamedIntrinsic hwIntrinsicID, var_types baseType, unsigned simdSize);
2062
+ GenTreeHWIntrinsic* gtNewSimdHWIntrinsicNode (var_types type,
2063
+ GenTree* op1,
2064
+ GenTree* op2,
2065
+ NamedIntrinsic hwIntrinsicID,
2066
+ var_types baseType,
2067
+ unsigned simdSize);
2064
2068
GenTreeHWIntrinsic* gtNewScalarHWIntrinsicNode (var_types type, GenTree* op1, NamedIntrinsic hwIntrinsicID);
2065
2069
GenTreeHWIntrinsic* gtNewScalarHWIntrinsicNode (var_types type,
2066
2070
GenTree* op1,
@@ -3036,68 +3040,28 @@ class Compiler
3036
3040
CORINFO_METHOD_HANDLE method,
3037
3041
CORINFO_SIG_INFO* sig,
3038
3042
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);
3043
+ GenTree* impSSEIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3044
+ GenTree* impSSE2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3045
+ GenTree* impSSE3Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3046
+ GenTree* impSSSE3Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3047
+ GenTree* impSSE41Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3048
+ GenTree* impSSE42Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3049
+ GenTree* impAVXIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3050
+ GenTree* impAVX2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3051
+ GenTree* impAESIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3052
+ GenTree* impBMI1Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3053
+ GenTree* impBMI2Intrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3054
+ GenTree* impFMAIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3055
+ GenTree* impLZCNTIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3056
+ GenTree* impPCLMULQDQIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3057
+ GenTree* impPOPCNTIntrinsic (NamedIntrinsic intrinsic, CORINFO_METHOD_HANDLE method, CORINFO_SIG_INFO* sig);
3058
+ bool impTableDrivableHWIntrinsic (HWIntrinsicCategory category);
3099
3059
bool compSupportsHWIntrinsic (InstructionSet isa);
3100
3060
bool isScalarISA (InstructionSet isa);
3061
+ int ivalOfHWIntrinsic (NamedIntrinsic intrinsic);
3062
+ instruction instructionOfHWIntrinsicOnType (NamedIntrinsic intrinsic, var_types type);
3063
+ HWIntrinsicCategory categoryOfHWIntrinsic (NamedIntrinsic intrinsic);
3064
+ GenTreeArgList* buildArgList (int num);
3101
3065
#endif // _TARGET_XARCH_
3102
3066
#endif // FEATURE_HW_INTRINSICS
3103
3067
GenTreePtr impArrayAccessIntrinsic (CORINFO_CLASS_HANDLE clsHnd,
0 commit comments