35 case CpuModel::MODEL: \
41 return std::string(
"GENERIC");
50 case CpuModel::GENERIC_FP16:
51 case CpuModel::GENERIC_FP16_DOT:
68 case CpuModel::GENERIC_FP16_DOT:
85 const int implementer = (midr >> 24) & 0xFF;
86 const int variant = (midr >> 20) & 0xF;
87 const int cpunum = (midr >> 4) & 0xFFF;
90 if (implementer == 0x41)
96 model = CpuModel::A53;
101 model = CpuModel::A55r1;
105 model = CpuModel::A55r0;
109 model = CpuModel::A73;
114 model = CpuModel::GENERIC_FP16_DOT;
118 model = CpuModel::GENERIC_FP16;
122 model = CpuModel::N1;
131 model = CpuModel::GENERIC_FP16_DOT;
134 model = CpuModel::V1;
137 model = CpuModel::X1;
141 model = CpuModel::A510;
144 model = CpuModel::A55r1;
147 model = CpuModel::GENERIC;
151 else if (implementer == 0x46)
156 model = CpuModel::A64FX;
159 model = CpuModel::GENERIC;
163 else if (implementer == 0x48)
168 model = CpuModel::GENERIC_FP16_DOT;
171 model = CpuModel::GENERIC;
175 else if (implementer == 0x51)
180 model = CpuModel::A73;
183 model = CpuModel::A53;
186 model = CpuModel::A55r0;
189 model = CpuModel::GENERIC_FP16_DOT;
192 model = CpuModel::A55r1;
195 model = CpuModel::GENERIC;