Add Cortex-A320 to MIDR decode table (#384)

ARM Cortex-A320 (MIDR part 0xD8F) is an ARMv9.2-A efficiency core.
Add its uarch enum and MIDR mapping so XNNPACK can select optimized
kernels when running on this core.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
diff --git a/include/cpuinfo.h b/include/cpuinfo.h
index 321998c..381018d 100644
--- a/include/cpuinfo.h
+++ b/include/cpuinfo.h
@@ -525,6 +525,8 @@
 	cpuinfo_uarch_cortex_a510 = 0x00300551,
 	/** ARM Cortex-A520. */
 	cpuinfo_uarch_cortex_a520 = 0x00300552,
+	/** ARM Cortex-A320. */
+	cpuinfo_uarch_cortex_a320 = 0x00300553,
 	/** ARM Cortex-A710. */
 	cpuinfo_uarch_cortex_a710 = 0x00300571,
 	/** ARM Cortex-A715. */
diff --git a/src/arm/uarch.c b/src/arm/uarch.c
index 6f92c7d..aab1001 100644
--- a/src/arm/uarch.c
+++ b/src/arm/uarch.c
@@ -141,17 +141,20 @@
 				case 0xD87: /* Cortex-A725 */
 					*uarch = cpuinfo_uarch_cortex_a725;
 					break;
-				case 0xD8C:
-					*uarch = cpuinfo_uarch_lumex_c1_ultra;
-					break;
-				case 0xD90:
-					*uarch = cpuinfo_uarch_lumex_c1_premium;
+				case 0xD8A:
+					*uarch = cpuinfo_uarch_lumex_c1_nano;
 					break;
 				case 0xD8B:
 					*uarch = cpuinfo_uarch_lumex_c1_pro;
 					break;
-				case 0xD8A:
-					*uarch = cpuinfo_uarch_lumex_c1_nano;
+				case 0xD8C:
+					*uarch = cpuinfo_uarch_lumex_c1_ultra;
+					break;
+				case 0xD8F: /* Cortex-A320 */
+					*uarch = cpuinfo_uarch_cortex_a320;
+					break;
+				case 0xD90:
+					*uarch = cpuinfo_uarch_lumex_c1_premium;
 					break;
 				default:
 					switch (midr_get_part(midr) >> 8) {
diff --git a/tools/cpu-info.c b/tools/cpu-info.c
index 98257e0..4a5983b 100644
--- a/tools/cpu-info.c
+++ b/tools/cpu-info.c
@@ -212,6 +212,8 @@
 			return "Cortex-A510";
 		case cpuinfo_uarch_cortex_a520:
 			return "Cortex-A520";
+		case cpuinfo_uarch_cortex_a320:
+			return "Cortex-A320";
 		case cpuinfo_uarch_cortex_a710:
 			return "Cortex-A710";
 		case cpuinfo_uarch_cortex_a715: