Lines Matching full:arm

111 void ARMTargetStreamer::emitArch(ARM::ArchKind Arch) {}
113 void ARMTargetStreamer::emitObjectArch(ARM::ArchKind Arch) {}
114 void ARMTargetStreamer::emitFPU(ARM::FPUKind FPU) {}
135 if (STI.hasFeature(ARM::HasV9_0aOps))
137 else if (STI.hasFeature(ARM::HasV8Ops)) {
138 if (STI.hasFeature(ARM::FeatureRClass))
141 } else if (STI.hasFeature(ARM::HasV8_1MMainlineOps))
143 else if (STI.hasFeature(ARM::HasV8MMainlineOps))
145 else if (STI.hasFeature(ARM::HasV7Ops)) {
146 if (STI.hasFeature(ARM::FeatureMClass) && STI.hasFeature(ARM::FeatureDSP))
149 } else if (STI.hasFeature(ARM::HasV6T2Ops))
151 else if (STI.hasFeature(ARM::HasV8MBaselineOps))
153 else if (STI.hasFeature(ARM::HasV6MOps))
155 else if (STI.hasFeature(ARM::HasV6Ops))
157 else if (STI.hasFeature(ARM::HasV5TEOps))
159 else if (STI.hasFeature(ARM::HasV5TOps))
161 else if (STI.hasFeature(ARM::HasV4TOps))
169 return (STI.hasFeature(ARM::HasV8MBaselineOps) &&
170 !STI.hasFeature(ARM::HasV6T2Ops)) ||
171 STI.hasFeature(ARM::HasV8MMainlineOps);
182 if (STI.hasFeature(ARM::ProcKrait)) {
186 if (STI.hasFeature(ARM::FeatureHWDivThumb) ||
187 STI.hasFeature(ARM::FeatureHWDivARM))
188 emitArchExtension(ARM::AEK_HWDIVTHUMB | ARM::AEK_HWDIVARM);
196 if (STI.hasFeature(ARM::FeatureAClass)) {
199 } else if (STI.hasFeature(ARM::FeatureRClass)) {
202 } else if (STI.hasFeature(ARM::FeatureMClass)) {
207 emitAttribute(ARMBuildAttrs::ARM_ISA_use, STI.hasFeature(ARM::FeatureNoARM)
214 } else if (STI.hasFeature(ARM::FeatureThumb2)) {
217 } else if (STI.hasFeature(ARM::HasV4TOps)) {
221 if (STI.hasFeature(ARM::FeatureNEON)) {
224 if (STI.hasFeature(ARM::FeatureFPARMv8)) {
225 if (STI.hasFeature(ARM::FeatureCrypto))
226 emitFPU(ARM::FK_CRYPTO_NEON_FP_ARMV8);
228 emitFPU(ARM::FK_NEON_FP_ARMV8);
229 } else if (STI.hasFeature(ARM::FeatureVFP4))
230 emitFPU(ARM::FK_NEON_VFPV4);
232 emitFPU(STI.hasFeature(ARM::FeatureFP16) ? ARM::FK_NEON_FP16
233 : ARM::FK_NEON);
235 if (STI.hasFeature(ARM::HasV8Ops))
237 STI.hasFeature(ARM::HasV8_1aOps)
241 if (STI.hasFeature(ARM::FeatureFPARMv8_D16_SP)) {
244 if (STI.hasFeature(ARM::FeatureD32))
245 emitFPU(ARM::FK_FP_ARMV8);
247 emitFPU(STI.hasFeature(ARM::FeatureFP64) ? ARM::FK_FPV5_D16
248 : ARM::FK_FPV5_SP_D16);
249 if (STI.hasFeature(ARM::HasMVEFloatOps))
250 emitArchExtension(ARM::AEK_SIMD | ARM::AEK_DSP | ARM::AEK_FP);
252 } else if (STI.hasFeature(ARM::FeatureVFP4_D16_SP))
253 emitFPU(STI.hasFeature(ARM::FeatureD32)
254 ? ARM::FK_VFPV4
255 : (STI.hasFeature(ARM::FeatureFP64) ? ARM::FK_VFPV4_D16
256 : ARM::FK_FPV4_SP_D16));
257 else if (STI.hasFeature(ARM::FeatureVFP3_D16_SP))
259 STI.hasFeature(ARM::FeatureD32)
261 ? (STI.hasFeature(ARM::FeatureFP16) ? ARM::FK_VFPV3_FP16
262 : ARM::FK_VFPV3)
264 : (STI.hasFeature(ARM::FeatureFP64)
265 ? (STI.hasFeature(ARM::FeatureFP16)
266 ? ARM::FK_VFPV3_D16_FP16
267 : ARM::FK_VFPV3_D16)
268 : (STI.hasFeature(ARM::FeatureFP16) ? ARM::FK_VFPV3XD_FP16
269 : ARM::FK_VFPV3XD)));
270 else if (STI.hasFeature(ARM::FeatureVFP2_SP))
271 emitFPU(ARM::FK_VFPV2);
275 if (STI.hasFeature(ARM::FeatureVFP2_SP) && !STI.hasFeature(ARM::FeatureFP64))
279 if (STI.hasFeature(ARM::FeatureFP16))
282 if (STI.hasFeature(ARM::FeatureMP))
285 if (STI.hasFeature(ARM::HasMVEFloatOps))
287 else if (STI.hasFeature(ARM::HasMVEIntegerOps))
290 // Hardware divide in ARM mode is part of base arch, starting from ARMv8.
296 if (STI.hasFeature(ARM::FeatureHWDivARM) && !STI.hasFeature(ARM::HasV8Ops))
299 if (STI.hasFeature(ARM::FeatureDSP) && isV8M(STI))
302 if (STI.hasFeature(ARM::FeatureStrictAlign))
309 if (STI.hasFeature(ARM::FeatureTrustZone) &&
310 STI.hasFeature(ARM::FeatureVirtualization))
313 else if (STI.hasFeature(ARM::FeatureTrustZone))
315 else if (STI.hasFeature(ARM::FeatureVirtualization))
319 if (STI.hasFeature(ARM::FeaturePACBTI)) {