aboutsummaryrefslogtreecommitdiff
path: root/src/runtime/CPUUtils.cpp
diff options
context:
space:
mode:
authorGeorgios Pinitas <georgios.pinitas@arm.com>2018-12-21 18:18:46 +0000
committerAnthony Barbier <Anthony.barbier@arm.com>2018-12-28 13:19:41 +0000
commit189606997e4e46d9f81e8198e2e96b1ab6dea8f2 (patch)
tree317661223bba7aa7121f46289f79f2137f1d4afb /src/runtime/CPUUtils.cpp
parent2d6cb17c5160375e19b3b1a8671546adecf8ba67 (diff)
downloadComputeLibrary-189606997e4e46d9f81e8198e2e96b1ab6dea8f2.tar.gz
COMPMID-1629: Implement correct CPU id for Kirin 980
Change-Id: I94a25016188144349091db7a4a02406a2dd4ef1c Reviewed-on: https://review.mlplatform.org/447 Tested-by: Arm Jenkins <bsgcomp@arm.com> Reviewed-by: Anthony Barbier <Anthony.barbier@arm.com>
Diffstat (limited to 'src/runtime/CPUUtils.cpp')
-rw-r--r--src/runtime/CPUUtils.cpp14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/runtime/CPUUtils.cpp b/src/runtime/CPUUtils.cpp
index b7aa0d5487..f3355a740b 100644
--- a/src/runtime/CPUUtils.cpp
+++ b/src/runtime/CPUUtils.cpp
@@ -95,6 +95,7 @@ bool model_supports_fp16(CPUModel model)
return false;
}
}
+
/* Convert an MIDR register value to a CPUModel enum value. */
CPUModel midr_to_model(const unsigned int midr)
{
@@ -145,6 +146,19 @@ CPUModel midr_to_model(const unsigned int midr)
break;
}
}
+ else if(implementer == 0x48) // HiSilicon CPUs
+ {
+ // Only CPUs we have code paths for are detected. All other CPUs can be safely classed as "GENERIC"
+ switch(cpunum)
+ {
+ case 0xd40: // A76 (Kirin 980)
+ model = CPUModel::GENERIC_FP16_DOT;
+ break;
+ default:
+ model = CPUModel::GENERIC;
+ break;
+ }
+ }
return model;
}