diff options
-rw-r--r-- | src/jit/hwintrinsicArm64.cpp | 10 | ||||
-rw-r--r-- | src/jit/hwintrinsicxarch.cpp | 10 |
2 files changed, 19 insertions, 1 deletions
diff --git a/src/jit/hwintrinsicArm64.cpp b/src/jit/hwintrinsicArm64.cpp index 602dec14f9..302895d889 100644 --- a/src/jit/hwintrinsicArm64.cpp +++ b/src/jit/hwintrinsicArm64.cpp @@ -109,8 +109,9 @@ NamedIntrinsic Compiler::lookupHWIntrinsic(const char* className, const char* me NamedIntrinsic result = NI_Illegal; if (isa != InstructionSet_NONE) { + JITDUMP("HW Intrinsic %s.%s: ", className, methodName); IsaFlag::Flag isaFlag = IsaFlag::flag(isa); - for (int i = 0; i < NI_HW_INTRINSIC_END - NI_HW_INTRINSIC_START; i++) + for (int i = 0; i < (NI_HW_INTRINSIC_END - NI_HW_INTRINSIC_START - 1); i++) { if ((isaFlag & hwIntrinsicInfoArray[i].isaflags) && strcmp(methodName, hwIntrinsicInfoArray[i].name) == 0) { @@ -118,6 +119,7 @@ NamedIntrinsic Compiler::lookupHWIntrinsic(const char* className, const char* me { // Intrinsic is supported on platform result = hwIntrinsicInfoArray[i].id; + JITDUMP("Supported\n"); } else { @@ -126,10 +128,16 @@ NamedIntrinsic Compiler::lookupHWIntrinsic(const char* className, const char* me // Return NI_ARM64_IsSupported_False for the IsSupported property result = (hwIntrinsicInfoArray[i].id != NI_ARM64_IsSupported_True) ? NI_ARM64_PlatformNotSupported : NI_ARM64_IsSupported_False; + + JITDUMP("Not Supported\n"); } break; } } + if (result == NI_Illegal) + { + JITDUMP("Not recognized\n"); + } } return result; } diff --git a/src/jit/hwintrinsicxarch.cpp b/src/jit/hwintrinsicxarch.cpp index eb70a06aa0..2bc3c5c692 100644 --- a/src/jit/hwintrinsicxarch.cpp +++ b/src/jit/hwintrinsicxarch.cpp @@ -48,10 +48,18 @@ NamedIntrinsic HWIntrinsicInfo::lookupId(const char* className, const char* meth // TODO-Throughput: replace sequential search by binary search InstructionSet isa = lookupIsa(className, enclosingClassName); + JITDUMP("HW Intrinsic "); + if (enclosingClassName != nullptr) + { + JITDUMP("%s.", enclosingClassName); + } + JITDUMP("%s.%s: ", className, methodName); + if (isa == InstructionSet_ILLEGAL) { // There are several platform-agnostic intrinsics (e.g., Vector64) that // are not supported in x86, so early return NI_Illegal + JITDUMP("Not supported"); return NI_Illegal; } @@ -66,12 +74,14 @@ NamedIntrinsic HWIntrinsicInfo::lookupId(const char* className, const char* meth if (strcmp(methodName, hwIntrinsicInfoArray[i].name) == 0) { + JITDUMP("Supported"); return hwIntrinsicInfoArray[i].id; } } // There are several helper intrinsics that are implemented in managed code // Those intrinsics will hit this code path and need to return NI_Illegal + JITDUMP("Not supported"); return NI_Illegal; } |