[llvm-commits] [llvm] r150222 - /llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
Jim Grosbach
grosbach at apple.com
Thu Feb 9 18:21:50 PST 2012
Author: grosbach
Date: Thu Feb 9 20:21:49 2012
New Revision: 150222
URL: http://llvm.org/viewvc/llvm-project?rev=150222&view=rev
Log:
ARM on darwin, v6 implies the presence of VFP for the assembler.
rdar://10838899
Modified:
llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
Modified: llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp
URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp?rev=150222&r1=150221&r2=150222&view=diff
==============================================================================
--- llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp (original)
+++ llvm/trunk/lib/Target/ARM/MCTargetDesc/ARMMCTargetDesc.cpp Thu Feb 9 20:21:49 2012
@@ -66,13 +66,21 @@
// v7a: FeatureNEON, FeatureDB, FeatureDSPThumb2, FeatureT2XtPk
ARMArchFeature = "+v7,+neon,+db,+t2dsp,+t2xtpk";
} else if (SubVer == '6') {
- if (Len >= Idx+3 && TT[Idx+1] == 't' && TT[Idx+2] == '2')
+ Triple TheTriple(TT);
+ if (Len >= Idx+3 && TT[Idx+1] == 't' && TT[Idx+2] == '2') {
ARMArchFeature = "+v6t2";
- else if (Len >= Idx+2 && TT[Idx+1] == 'm')
+ // On darwin, v6 implies VFP.
+ if (TheTriple.isOSDarwin())
+ ARMArchFeature += ",+vfp2";
+ } else if (Len >= Idx+2 && TT[Idx+1] == 'm')
// v6m: FeatureNoARM, FeatureMClass
ARMArchFeature = "+v6t2,+noarm,+mclass";
- else
+ else {
ARMArchFeature = "+v6";
+ // On darwin, v6 implies VFP.
+ if (TheTriple.isOSDarwin())
+ ARMArchFeature += ",+vfp2";
+ }
} else if (SubVer == '5') {
if (Len >= Idx+3 && TT[Idx+1] == 't' && TT[Idx+2] == 'e')
ARMArchFeature = "+v5te";
More information about the llvm-commits
mailing list