Lines Matching full:arm
47 {NAME, ARM::ARCH_FPU, ARCH_BASE_EXT, AArch64::ArchKind::ID, ARCH_ATTR},
51 ArchNames<ARM::ArchKind> kARMARCHNames[] = {
54 {NAME, ARM::ARCH_FPU, ARCH_BASE_EXT, ARM::ID, ARCH_ATTR},
67 {NAME, AArch64::ArchKind::ID, ARM::DEFAULT_FPU, DEFAULT_EXT},
71 CpuNames<ARM::ArchKind> kARMCPUNames[] = {
73 {NAME, ARM::ID, ARM::DEFAULT_FPU, DEFAULT_EXT},
97 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
98 AK <= ARM::ArchKind::AK_LAST; in TEST()
99 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
100 EXPECT_TRUE(AK == ARM::AK_LAST ? ARM::getArchName(AK).empty() in TEST()
101 : !ARM::getArchName(AK).empty()); in TEST()
105 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
106 AK <= ARM::ArchKind::AK_LAST; in TEST()
107 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
108 EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_LAST) in TEST()
109 ? ARM::getCPUAttr(AK).empty() in TEST()
110 : !ARM::getCPUAttr(AK).empty()); in TEST()
114 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
115 AK <= ARM::ArchKind::AK_LAST; in TEST()
116 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
117 EXPECT_TRUE((AK == ARM::AK_INVALID || AK == ARM::AK_IWMMXT || in TEST()
118 AK == ARM::AK_IWMMXT2 || AK == ARM::AK_LAST) in TEST()
119 ? ARM::getSubArch(AK).empty() in TEST()
120 : !ARM::getSubArch(AK).empty()); in TEST()
124 for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0); in TEST()
125 FK <= ARM::FPUKind::FK_LAST; in TEST()
126 FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) in TEST()
127 EXPECT_TRUE(FK == ARM::FK_LAST ? ARM::getFPUName(FK).empty() in TEST()
128 : !ARM::getFPUName(FK).empty()); in TEST()
132 for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0); in TEST()
133 FK <= ARM::FPUKind::FK_LAST; in TEST()
134 FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) in TEST()
135 if (FK == ARM::FK_LAST) in TEST()
136 EXPECT_EQ(0, ARM::getFPUVersion(FK)); in TEST()
138 EXPECT_LE(0, ARM::getFPUVersion(FK)); in TEST()
142 for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0); in TEST()
143 FK <= ARM::FPUKind::FK_LAST; in TEST()
144 FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) in TEST()
145 if (FK == ARM::FK_LAST) in TEST()
146 EXPECT_EQ(0, ARM::getFPUNeonSupportLevel(FK)); in TEST()
148 EXPECT_LE(0, ARM::getFPUNeonSupportLevel(FK)); in TEST()
152 for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0); in TEST()
153 FK <= ARM::FPUKind::FK_LAST; in TEST()
154 FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) in TEST()
155 if (FK == ARM::FK_LAST) in TEST()
156 EXPECT_EQ(0, ARM::getFPURestriction(FK)); in TEST()
158 EXPECT_LE(0, ARM::getFPURestriction(FK)); in TEST()
162 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
163 AK < ARM::ArchKind::AK_LAST; in TEST()
164 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
166 ARM::getDefaultFPU(StringRef("generic"), AK)); in TEST()
169 EXPECT_EQ(ARMCPUName.DefaultFPU, ARM::getDefaultFPU(ARMCPUName.Name, 0)); in TEST()
173 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
174 AK < ARM::ArchKind::AK_LAST; in TEST()
175 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
177 ARM::getDefaultExtensions(StringRef("generic"), AK)); in TEST()
182 EXPECT_EQ(DefaultExt, ARM::getDefaultExtensions(ARMCPUName.Name, 0)); in TEST()
188 unsigned Extensions = ARM::AEK_CRC | ARM::AEK_CRYPTO | ARM::AEK_DSP | in TEST()
189 ARM::AEK_HWDIVARM | ARM::AEK_HWDIV | ARM::AEK_MP | in TEST()
190 ARM::AEK_SEC | ARM::AEK_VIRT | ARM::AEK_RAS; in TEST()
193 EXPECT_TRUE(i == 0 ? !ARM::getExtensionFeatures(i, Features) in TEST()
194 : ARM::getExtensionFeatures(i, Features)); in TEST()
199 for (ARM::FPUKind FK = static_cast<ARM::FPUKind>(0); in TEST()
200 FK <= ARM::FPUKind::FK_LAST; in TEST()
201 FK = static_cast<ARM::FPUKind>(static_cast<unsigned>(FK) + 1)) in TEST()
202 EXPECT_TRUE((FK == ARM::FK_INVALID || FK >= ARM::FK_LAST) in TEST()
203 ? !ARM::getFPUFeatures(FK, Features) in TEST()
204 : ARM::getFPUFeatures(FK, Features)); in TEST()
208 for (ARM::ArchKind AK = static_cast<ARM::ArchKind>(0); in TEST()
209 AK <= ARM::ArchKind::AK_LAST; in TEST()
210 AK = static_cast<ARM::ArchKind>(static_cast<unsigned>(AK) + 1)) in TEST()
211 EXPECT_TRUE(AK == ARM::AK_LAST in TEST()
212 ? (ARMBuildAttrs::CPUArch::Pre_v4 == ARM::getArchAttr(AK)) in TEST()
213 : (kARMARCHNames[AK].ArchAttr == ARM::getArchAttr(AK))); in TEST()
217 for (ARM::ArchExtKind AEK = static_cast<ARM::ArchExtKind>(0); in TEST()
218 AEK <= ARM::ArchExtKind::AEK_XSCALE; in TEST()
219 AEK = static_cast<ARM::ArchExtKind>(static_cast<unsigned>(AEK) + 1)) in TEST()
221 ? !ARM::getArchExtName(AEK).empty() in TEST()
222 : ARM::getArchExtName(AEK).empty()); in TEST()
244 EXPECT_EQ(ArchExt[i][2], ARM::getArchExtFeature(ArchExt[i][0])); in TEST()
245 EXPECT_EQ(ArchExt[i][3], ARM::getArchExtFeature(ArchExt[i][1])); in TEST()
250 for (ARM::ArchExtKind AEK = static_cast<ARM::ArchExtKind>(0); in TEST()
251 AEK <= ARM::ArchExtKind::AEK_XSCALE; in TEST()
252 AEK = static_cast<ARM::ArchExtKind>(static_cast<unsigned>(AEK) + 1)) in TEST()
254 ? !ARM::getHWDivName(AEK).empty() in TEST()
255 : ARM::getHWDivName(AEK).empty()); in TEST()
260 EXPECT_FALSE(ARM::getDefaultCPU(ARMArch[i]).empty()); in TEST()
264 const char *hwdiv[] = {"thumb", "arm", "arm,thumb", "thumb,arm"}; in TEST()
267 EXPECT_NE(ARM::AEK_INVALID, ARM::parseHWDiv((StringRef)hwdiv[i])); in TEST()
306 EXPECT_NE(ARM::FK_INVALID, ARM::parseFPU((StringRef)FPU[i])); in TEST()
311 EXPECT_NE(ARM::AEK_INVALID, ARM::parseArch(ARMArch[i])); in TEST()
321 EXPECT_NE(ARM::AEK_INVALID, ARM::parseArchExt(ArchExt[i])); in TEST()
348 ? (ARM::AK_INVALID != ARM::parseCPUArch(ARMCPUName.Name)) in TEST()
349 : (ARM::AK_INVALID == ARM::parseCPUArch(ARMCPUName.Name))); in TEST()
363 std::string arm_2 = "arm" + (std::string)(Arch[i]) + "eb"; in TEST()
364 std::string arm_3 = "arm" + (std::string)(Arch[i]); in TEST()
369 EXPECT_EQ(ARM::EK_BIG, ARM::parseArchEndian(arm_1)); in TEST()
370 EXPECT_EQ(ARM::EK_BIG, ARM::parseArchEndian(arm_2)); in TEST()
371 EXPECT_EQ(ARM::EK_LITTLE, ARM::parseArchEndian(arm_3)); in TEST()
373 EXPECT_EQ(ARM::IK_ARM, ARM::parseArchISA(arm_1)); in TEST()
374 EXPECT_EQ(ARM::IK_ARM, ARM::parseArchISA(arm_2)); in TEST()
375 EXPECT_EQ(ARM::IK_ARM, ARM::parseArchISA(arm_3)); in TEST()
377 EXPECT_EQ(ARM::EK_BIG, ARM::parseArchEndian(thumb_1)); in TEST()
378 EXPECT_EQ(ARM::EK_BIG, ARM::parseArchEndian(thumb_2)); in TEST()
379 EXPECT_EQ(ARM::EK_LITTLE, ARM::parseArchEndian(thumb_3)); in TEST()
381 EXPECT_EQ(ARM::IK_THUMB, ARM::parseArchISA(thumb_1)); in TEST()
382 EXPECT_EQ(ARM::IK_THUMB, ARM::parseArchISA(thumb_2)); in TEST()
383 EXPECT_EQ(ARM::IK_THUMB, ARM::parseArchISA(thumb_3)); in TEST()
387 EXPECT_EQ(ARM::EK_LITTLE, ARM::parseArchEndian("aarch64")); in TEST()
388 EXPECT_EQ(ARM::EK_BIG, ARM::parseArchEndian("aarch64_be")); in TEST()
390 EXPECT_EQ(ARM::IK_AARCH64, ARM::parseArchISA("aarch64")); in TEST()
391 EXPECT_EQ(ARM::IK_AARCH64, ARM::parseArchISA("aarch64_be")); in TEST()
392 EXPECT_EQ(ARM::IK_AARCH64, ARM::parseArchISA("arm64")); in TEST()
393 EXPECT_EQ(ARM::IK_AARCH64, ARM::parseArchISA("arm64_be")); in TEST()
398 switch (ARM::parseArch(ARMArch[i])) { in TEST()
399 case ARM::AK_ARMV6M: in TEST()
400 case ARM::AK_ARMV7M: in TEST()
401 case ARM::AK_ARMV7EM: in TEST()
402 case ARM::AK_ARMV8MMainline: in TEST()
403 case ARM::AK_ARMV8MBaseline: in TEST()
404 EXPECT_EQ(ARM::PK_M, ARM::parseArchProfile(ARMArch[i])); in TEST()
406 case ARM::AK_ARMV7R: in TEST()
407 EXPECT_EQ(ARM::PK_R, ARM::parseArchProfile(ARMArch[i])); in TEST()
409 case ARM::AK_ARMV7A: in TEST()
410 case ARM::AK_ARMV7K: in TEST()
411 case ARM::AK_ARMV8A: in TEST()
412 case ARM::AK_ARMV8_1A: in TEST()
413 case ARM::AK_ARMV8_2A: in TEST()
414 EXPECT_EQ(ARM::PK_A, ARM::parseArchProfile(ARMArch[i])); in TEST()
417 EXPECT_EQ(ARM::PK_INVALID, ARM::parseArchProfile(ARMArch[i])); in TEST()
424 EXPECT_EQ((ARMArch[i][4] - 48), ARM::parseArchVersion(ARMArch[i])); in TEST()
426 EXPECT_EQ(5, ARM::parseArchVersion(ARMArch[i])); in TEST()