@@ -161,7 +161,31 @@ class CORJIT_FLAGS
161161
162162 CORJIT_FLAG_NO_INLINING = 42 , // JIT should not inline any called method into this method
163163
164- #if defined(_TARGET_X86_) || defined(_TARGET_AMD64_)
164+ #if defined(_TARGET_ARM64_)
165+
166+ CORJIT_FLAG_HAS_ARM64_AES = 43 , // ID_AA64ISAR0_EL1.AES is 1 or better
167+ CORJIT_FLAG_HAS_ARM64_ATOMICS = 44 , // ID_AA64ISAR0_EL1.Atomic is 2 or better
168+ CORJIT_FLAG_HAS_ARM64_CRC32 = 45 , // ID_AA64ISAR0_EL1.CRC32 is 1 or better
169+ CORJIT_FLAG_HAS_ARM64_DCPOP = 46 , // ID_AA64ISAR1_EL1.DPB is 1 or better
170+ CORJIT_FLAG_HAS_ARM64_DP = 47 , // ID_AA64ISAR0_EL1.DP is 1 or better
171+ CORJIT_FLAG_HAS_ARM64_FCMA = 48 , // ID_AA64ISAR1_EL1.FCMA is 1 or better
172+ CORJIT_FLAG_HAS_ARM64_FP = 49 , // ID_AA64PFR0_EL1.FP is 0 or better
173+ CORJIT_FLAG_HAS_ARM64_FP16 = 50 , // ID_AA64PFR0_EL1.FP is 1 or better
174+ CORJIT_FLAG_HAS_ARM64_JSCVT = 51 , // ID_AA64ISAR1_EL1.JSCVT is 1 or better
175+ CORJIT_FLAG_HAS_ARM64_LRCPC = 52 , // ID_AA64ISAR1_EL1.LRCPC is 1 or better
176+ CORJIT_FLAG_HAS_ARM64_PMULL = 53 , // ID_AA64ISAR0_EL1.AES is 2 or better
177+ CORJIT_FLAG_HAS_ARM64_SHA1 = 54 , // ID_AA64ISAR0_EL1.SHA1 is 1 or better
178+ CORJIT_FLAG_HAS_ARM64_SHA2 = 55 , // ID_AA64ISAR0_EL1.SHA2 is 1 or better
179+ CORJIT_FLAG_HAS_ARM64_SHA512 = 56 , // ID_AA64ISAR0_EL1.SHA2 is 2 or better
180+ CORJIT_FLAG_HAS_ARM64_SHA3 = 57 , // ID_AA64ISAR0_EL1.SHA3 is 1 or better
181+ CORJIT_FLAG_HAS_ARM64_SIMD = 58 , // ID_AA64PFR0_EL1.AdvSIMD is 0 or better
182+ CORJIT_FLAG_HAS_ARM64_SIMD_V81 = 59 , // ID_AA64ISAR0_EL1.RDM is 1 or better
183+ CORJIT_FLAG_HAS_ARM64_SIMD_FP16 = 60 , // ID_AA64PFR0_EL1.AdvSIMD is 1 or better
184+ CORJIT_FLAG_HAS_ARM64_SM3 = 61 , // ID_AA64ISAR0_EL1.SM3 is 1 or better
185+ CORJIT_FLAG_HAS_ARM64_SM4 = 62 , // ID_AA64ISAR0_EL1.SM4 is 1 or better
186+ CORJIT_FLAG_HAS_ARM64_SVE = 63 // ID_AA64PFR0_EL1.SVE is 1 or better
187+
188+ #elif defined(_TARGET_X86_) || defined(_TARGET_AMD64_)
165189
166190 CORJIT_FLAG_USE_SSE3 = 43 ,
167191 CORJIT_FLAG_USE_SSSE3 = 44 ,
@@ -173,10 +197,20 @@ class CORJIT_FLAGS
173197 CORJIT_FLAG_USE_FMA = 50 ,
174198 CORJIT_FLAG_USE_LZCNT = 51 ,
175199 CORJIT_FLAG_USE_PCLMULQDQ = 52 ,
176- CORJIT_FLAG_USE_POPCNT = 53
200+ CORJIT_FLAG_USE_POPCNT = 53 ,
201+ CORJIT_FLAG_UNUSED23 = 54 ,
202+ CORJIT_FLAG_UNUSED24 = 55 ,
203+ CORJIT_FLAG_UNUSED25 = 56 ,
204+ CORJIT_FLAG_UNUSED26 = 57 ,
205+ CORJIT_FLAG_UNUSED27 = 58 ,
206+ CORJIT_FLAG_UNUSED28 = 59 ,
207+ CORJIT_FLAG_UNUSED29 = 60 ,
208+ CORJIT_FLAG_UNUSED30 = 61 ,
209+ CORJIT_FLAG_UNUSED31 = 62 ,
210+ CORJIT_FLAG_UNUSED32 = 63
177211
178212
179- #else // !defined(_TARGET_X86_) && !defined(_TARGET_AMD64_)
213+ #else // !defined(_TARGET_ARM64_) && !defined( _TARGET_X86_) && !defined(_TARGET_AMD64_)
180214
181215 CORJIT_FLAG_UNUSED12 = 43 ,
182216 CORJIT_FLAG_UNUSED13 = 44 ,
@@ -188,9 +222,19 @@ class CORJIT_FLAGS
188222 CORJIT_FLAG_UNUSED19 = 50 ,
189223 CORJIT_FLAG_UNUSED20 = 51 ,
190224 CORJIT_FLAG_UNUSED21 = 52 ,
191- CORJIT_FLAG_UNUSED22 = 53
192-
193- #endif // !defined(_TARGET_X86_) && !defined(_TARGET_AMD64_)
225+ CORJIT_FLAG_UNUSED22 = 53 ,
226+ CORJIT_FLAG_UNUSED23 = 54 ,
227+ CORJIT_FLAG_UNUSED24 = 55 ,
228+ CORJIT_FLAG_UNUSED25 = 56 ,
229+ CORJIT_FLAG_UNUSED26 = 57 ,
230+ CORJIT_FLAG_UNUSED27 = 58 ,
231+ CORJIT_FLAG_UNUSED28 = 59 ,
232+ CORJIT_FLAG_UNUSED29 = 60 ,
233+ CORJIT_FLAG_UNUSED30 = 61 ,
234+ CORJIT_FLAG_UNUSED31 = 62 ,
235+ CORJIT_FLAG_UNUSED32 = 63
236+
237+ #endif // !defined(_TARGET_ARM64_) && !defined(_TARGET_X86_) && !defined(_TARGET_AMD64_)
194238 };
195239
196240 CORJIT_FLAGS ()
0 commit comments