summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/jit/hwintrinsicArm64.cpp10
-rw-r--r--src/jit/hwintrinsicxarch.cpp10
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;
}