Add Intel Gracemont uarch (#303)

diff --git a/include/cpuinfo.h b/include/cpuinfo.h
index 0d3f6a0..891416a 100644
--- a/include/cpuinfo.h
+++ b/include/cpuinfo.h
@@ -373,6 +373,8 @@
 	cpuinfo_uarch_goldmont = 0x00100404,
 	/** Intel Goldmont Plus microarchitecture (Gemini Lake). */
 	cpuinfo_uarch_goldmont_plus = 0x00100405,
+	/** Intel Gracemont microarchitecture (Twin Lake). */
+	cpuinfo_uarch_gracemont = 0x00100406,
 	/** Intel Crestmont microarchitecture (Sierra Forest). */
 	cpuinfo_uarch_crestmont = 0x00100407,
 
diff --git a/src/x86/uarch.c b/src/x86/uarch.c
index 146f2dd..2f4292b 100644
--- a/src/x86/uarch.c
+++ b/src/x86/uarch.c
@@ -188,6 +188,8 @@
 						case 0x5A: // Moorefield
 						case 0x5D: // SoFIA
 							return cpuinfo_uarch_silvermont;
+						case 0xBE: // Twin Lake
+							return cpuinfo_uarch_gracemont;
 						case 0xAF: // Sierra Forest
 							return cpuinfo_uarch_crestmont;
 						case 0x4C: // Braswell, Cherry
diff --git a/tools/cpu-info.c b/tools/cpu-info.c
index bbfc104..d1ba2d4 100644
--- a/tools/cpu-info.c
+++ b/tools/cpu-info.c
@@ -92,6 +92,8 @@
 			return "Saltwell";
 		case cpuinfo_uarch_silvermont:
 			return "Silvermont";
+		case cpuinfo_uarch_gracemont:
+			return "Gracemont";
 		case cpuinfo_uarch_crestmont:
 			return "Crestmont";
 		case cpuinfo_uarch_airmont: